Skip to content

Commit

Permalink
Modified money tests to test the accuracies of floats
Browse files Browse the repository at this point in the history
  • Loading branch information
yitam committed Mar 1, 2019
1 parent 27d5f64 commit 67bf932
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 24 deletions.
14 changes: 3 additions & 11 deletions test/functional/pdo_sqlsrv/pdostatement_format_money_types.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,9 @@ function testFloatTypes($conn, $numDigits)

trace("testFloatTypes: $floatVal1, $floatVal\n");

// Check if the numbers of decimal digits are the same
// It is highly unlikely but not impossible
$numbers = explode('.', $floatStr);
$len = strlen($numbers[1]);
if ($len == $numDigits && $floatVal1 != $floatVal) {
echo "Expected $floatVal but $floatVal1 returned. \n";
} else {
$diff = abs($floatVal1 - $floatVal) / $floatVal;
if ($diff > $epsilon) {
echo "$diff: Expected $floatVal but $floatVal1 returned. \n";
}
$diff = abs($floatVal1 - $floatVal) / $floatVal;
if ($diff > $epsilon) {
echo "$diff: Expected $floatVal but $floatVal1 returned. \n";
}
}
}
Expand Down
16 changes: 3 additions & 13 deletions test/functional/sqlsrv/sqlsrv_statement_format_money_types.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,10 @@ function testFloatTypes($conn)
for ($i = 0; $i < count($values); $i++) {
$floatStr = sqlsrv_get_field($stmt, $i, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR));
$floatVal = floatval($floatStr);

// Check if the numbers of decimal digits are the same
// It is highly unlikely but not impossible
$numbers = explode('.', $floatStr);
$len = strlen($numbers[1]);
if ($len == $numDigits && $floatVal != $floats[$i]) {
echo "Expected $floats[$i] but returned ";
$diff = abs($floatVal - $floats[$i]) / $floats[$i];
if ($diff > $epsilon) {
echo "$diff: Expected $floats[$i] but returned ";
var_dump($floatVal);
} else {
$diff = abs($floatVal - $floats[$i]) / $floats[$i];
if ($diff > $epsilon) {
echo "$diff: Expected $floats[$i] but returned ";
var_dump($floatVal);
}
}
}
} else {
Expand Down

0 comments on commit 67bf932

Please sign in to comment.