Skip to content

Commit 407e73f

Browse files
committed
Added a test
1 parent 674ec02 commit 407e73f

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

ext/bcmath/tests/bcdiv_by_one.phpt

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
--TEST--
2+
bcdiv() function div by one
3+
--EXTENSIONS--
4+
bcmath
5+
--INI--
6+
bcmath.scale=0
7+
--FILE--
8+
<?php
9+
$dividend_cases = ['100', '-100'];
10+
$divisor_cases = ['1.010', '1.01', '1.1', '1'];
11+
$scale_cases = [0, 1, 2, 3];
12+
13+
foreach ($scale_cases as $scale) {
14+
echo "scale: {$scale}\n";
15+
foreach ($divisor_cases as $divisor) {
16+
foreach ($dividend_cases as $dividend) {
17+
$dividend_label = str_pad($dividend, 4, ' ', STR_PAD_LEFT);
18+
$divisor_label = str_pad($divisor, 5, ' ', STR_PAD_LEFT);
19+
$quot = bcdiv($dividend, $divisor, $scale);
20+
$quot_label = str_pad($quot, $scale + 2 + ($scale ? 1 : 0), ' ', STR_PAD_LEFT);
21+
echo $dividend_label, ' / ', $divisor_label, ' = ', $quot_label, "\n";
22+
}
23+
}
24+
echo "\n";
25+
}
26+
?>
27+
--EXPECT--
28+
scale: 0
29+
100 / 1.010 = 99
30+
-100 / 1.010 = -99
31+
100 / 1.01 = 99
32+
-100 / 1.01 = -99
33+
100 / 1.1 = 90
34+
-100 / 1.1 = -90
35+
100 / 1 = 100
36+
-100 / 1 = -100
37+
38+
scale: 1
39+
100 / 1.010 = 99.0
40+
-100 / 1.010 = -99.0
41+
100 / 1.01 = 99.0
42+
-100 / 1.01 = -99.0
43+
100 / 1.1 = 90.9
44+
-100 / 1.1 = -90.9
45+
100 / 1 = 100.0
46+
-100 / 1 = -100.0
47+
48+
scale: 2
49+
100 / 1.010 = 99.00
50+
-100 / 1.010 = -99.00
51+
100 / 1.01 = 99.00
52+
-100 / 1.01 = -99.00
53+
100 / 1.1 = 90.90
54+
-100 / 1.1 = -90.90
55+
100 / 1 = 100.00
56+
-100 / 1 = -100.00
57+
58+
scale: 3
59+
100 / 1.010 = 99.009
60+
-100 / 1.010 = -99.009
61+
100 / 1.01 = 99.009
62+
-100 / 1.01 = -99.009
63+
100 / 1.1 = 90.909
64+
-100 / 1.1 = -90.909
65+
100 / 1 = 100.000
66+
-100 / 1 = -100.000

0 commit comments

Comments
 (0)