allow 4 decimals for rounded rates (#3596)
This commit is contained in:
@@ -28,16 +28,46 @@ class UtilTest extends TestCase
|
||||
public function getRateCalculationData()
|
||||
{
|
||||
yield [0, 0, 0];
|
||||
yield [1, 100, 0.03];
|
||||
yield [1, 100, 0.0278];
|
||||
yield [1, 900, 0.25];
|
||||
yield [1, 1800, 0.5];
|
||||
yield [10000, 1, 2.78];
|
||||
yield [736, 123.45, 25.15];
|
||||
yield [736, 123, 25.15];
|
||||
yield [7360, 1234.99, 2522.84];
|
||||
yield [7360, 1234, 2522.84];
|
||||
yield [7360.34, 1234, 2522.96];
|
||||
yield [7360.01, 1234, 2522.85];
|
||||
yield [7360.99, 1234, 2523.18];
|
||||
yield [10000, 1, 2.7778];
|
||||
yield [736, 123, 25.1467];
|
||||
yield [7360, 1234, 2522.8444];
|
||||
yield [7360.34, 1234, 2522.961];
|
||||
yield [7360.01, 1234, 2522.8479];
|
||||
yield [7360.99, 1234, 2523.1838];
|
||||
}
|
||||
|
||||
public function testCalculateRateWithRounding()
|
||||
{
|
||||
$total = 0.00;
|
||||
$seconds = 0;
|
||||
$repeat = 130;
|
||||
|
||||
for ($a = 0; $a < $repeat; $a++) {
|
||||
$inputs = [
|
||||
900,
|
||||
1600,
|
||||
4200,
|
||||
8763,
|
||||
3300,
|
||||
600,
|
||||
1300,
|
||||
1837,
|
||||
4217,
|
||||
5400,
|
||||
3283,
|
||||
600,
|
||||
];
|
||||
|
||||
foreach ($inputs as $i) {
|
||||
$seconds += $i;
|
||||
$total += Util::calculateRate(114.75, $i);
|
||||
}
|
||||
}
|
||||
|
||||
self::assertEquals(36000 * $repeat, $seconds);
|
||||
self::assertEquals(1147.50 * $repeat, $total);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user