Skip to content

Commit 7c900f0

Browse files
committed
address comment
1 parent 963a6b4 commit 7c900f0

File tree

1 file changed

+46
-1
lines changed

1 file changed

+46
-1
lines changed

ext/bcmath/tests/bcround_early_return.phpt

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ bcround() function with early return
44
bcmath
55
--FILE--
66
<?php
7+
$otherModes = [
8+
'PHP_ROUND_HALF_DOWN',
9+
'PHP_ROUND_HALF_EVEN',
10+
'PHP_ROUND_HALF_ODD',
11+
'PHP_ROUND_FLOOR',
12+
'PHP_ROUND_CEILING',
13+
'PHP_ROUND_AWAY_FROM_ZERO',
14+
'PHP_ROUND_TOWARD_ZERO',
15+
];
16+
717
$early_return_cases = [
818
['123', -3],
919
['123', -4],
@@ -31,8 +41,35 @@ $early_return_cases = [
3141
['-0.0000', 0],
3242
];
3343

44+
$results = [
45+
'PHP_ROUND_HALF_UP' => [],
46+
'PHP_ROUND_HALF_DOWN' => [],
47+
'PHP_ROUND_HALF_EVEN' => [],
48+
'PHP_ROUND_HALF_ODD' => [],
49+
'PHP_ROUND_FLOOR' => [],
50+
'PHP_ROUND_CEIL' => [],
51+
'PHP_ROUND_AWAY_FROM_ZERO' => [],
52+
'PHP_ROUND_TOWARD_ZERO' => [],
53+
];
3454
foreach ($early_return_cases as [$num, $precision]) {
35-
echo str_pad("[{$num}, {$precision}]", 33, ' ', STR_PAD_LEFT), " => ", bcround($num, $precision, PHP_ROUND_HALF_UP), "\n";
55+
$result = str_pad("[{$num}, {$precision}]", 33, ' ', STR_PAD_LEFT) . ' => ' . bcround($num, $precision, PHP_ROUND_HALF_UP) . "\n";
56+
echo $result;
57+
$results['PHP_ROUND_HALF_UP'][] = $result;
58+
}
59+
60+
echo "\n";
61+
62+
foreach ($otherModes as $mode) {
63+
foreach ($early_return_cases as [$num, $precision]) {
64+
$result = str_pad("[{$num}, {$precision}]", 33, ' ', STR_PAD_LEFT) . ' => ' . bcround($num, $precision, constant($mode)) . "\n";
65+
$results[$mode][] = $result;
66+
}
67+
68+
if ($results['PHP_ROUND_HALF_UP'] === $results[$mode]) {
69+
echo str_pad($mode, 24, ' ', STR_PAD_LEFT) . ": result is same to PHP_ROUND_HALF_UP\n";
70+
} else {
71+
echo str_pad($mode, 24, ' ', STR_PAD_LEFT) . ": result is not same to PHP_ROUND_HALF_UP, failed\n";
72+
}
3673
}
3774
?>
3875
--EXPECT--
@@ -60,3 +97,11 @@ foreach ($early_return_cases as [$num, $precision]) {
6097
[-0, 0] => 0
6198
[-0.0, 0] => 0
6299
[-0.0000, 0] => 0
100+
101+
PHP_ROUND_HALF_DOWN: result is same to PHP_ROUND_HALF_UP
102+
PHP_ROUND_HALF_EVEN: result is same to PHP_ROUND_HALF_UP
103+
PHP_ROUND_HALF_ODD: result is same to PHP_ROUND_HALF_UP
104+
PHP_ROUND_FLOOR: result is same to PHP_ROUND_HALF_UP
105+
PHP_ROUND_CEILING: result is same to PHP_ROUND_HALF_UP
106+
PHP_ROUND_AWAY_FROM_ZERO: result is same to PHP_ROUND_HALF_UP
107+
PHP_ROUND_TOWARD_ZERO: result is same to PHP_ROUND_HALF_UP

0 commit comments

Comments
 (0)