From bd8678289be22119db9cc459ce6e7dc970c34439 Mon Sep 17 00:00:00 2001 From: Zoe Slattery Date: Fri, 1 Feb 2008 17:16:40 +0000 Subject: [PATCH] A few new tests for math functions --- ext/standard/tests/math/atan2_basic.phpt | 185 ++++++++++ ext/standard/tests/math/atan2_error.phpt | 15 + .../tests/math/base_convert_basic.phpt | 316 ++++++++++++++++++ .../tests/math/base_convert_error.phpt | 21 ++ ext/standard/tests/math/bindec_basic.phpt | 49 +++ ext/standard/tests/math/bindec_error.phpt | 12 + ext/standard/tests/math/constants_basic.phpt | 65 ++++ ext/standard/tests/math/decbin_basic.phpt | 53 +++ ext/standard/tests/math/decbin_error.phpt | 12 + 9 files changed, 728 insertions(+) create mode 100644 ext/standard/tests/math/atan2_basic.phpt create mode 100644 ext/standard/tests/math/atan2_error.phpt create mode 100644 ext/standard/tests/math/base_convert_basic.phpt create mode 100644 ext/standard/tests/math/base_convert_error.phpt create mode 100644 ext/standard/tests/math/bindec_basic.phpt create mode 100644 ext/standard/tests/math/bindec_error.phpt create mode 100644 ext/standard/tests/math/constants_basic.phpt create mode 100644 ext/standard/tests/math/decbin_basic.phpt create mode 100644 ext/standard/tests/math/decbin_error.phpt diff --git a/ext/standard/tests/math/atan2_basic.phpt b/ext/standard/tests/math/atan2_basic.phpt new file mode 100644 index 0000000000..65a0622c6a --- /dev/null +++ b/ext/standard/tests/math/atan2_basic.phpt @@ -0,0 +1,185 @@ +--TEST-- +Test atan2() - basic function test of atan2() +--INI-- +precision=14 +--FILE-- + +--EXPECTF-- +Y:23 X:23 float(0.78539816339745) +Y:23 X:-23 float(2.3561944901923) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:-23.45 float(2.3658820235113) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:2.345e1 float(0.77571063007847) +Y:23 X: float(1.5707963267949) +Y:23 X:1 float(1.5273454314034) +Y:23 X: float(1.5707963267949) +Y:-23 X:23 float(-0.78539816339745) +Y:-23 X:-23 float(-2.3561944901923) +Y:-23 X:23.45 float(-0.77571063007847) +Y:-23 X:-23.45 float(-2.3658820235113) +Y:-23 X:23 float(-0.78539816339745) +Y:-23 X:23 float(-0.78539816339745) +Y:-23 X:23 float(-0.78539816339745) +Y:-23 X:23.45 float(-0.77571063007847) +Y:-23 X:2.345e1 float(-0.77571063007847) +Y:-23 X: float(-1.5707963267949) +Y:-23 X:1 float(-1.5273454314034) +Y:-23 X: float(-1.5707963267949) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:-23 float(2.3465069568734) +Y:23.45 X:23.45 float(0.78539816339745) +Y:23.45 X:-23.45 float(2.3561944901923) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:23.45 float(0.78539816339745) +Y:23.45 X:2.345e1 float(0.78539816339745) +Y:23.45 X: float(1.5707963267949) +Y:23.45 X:1 float(1.5281782247706) +Y:23.45 X: float(1.5707963267949) +Y:-23.45 X:23 float(-0.79508569671643) +Y:-23.45 X:-23 float(-2.3465069568734) +Y:-23.45 X:23.45 float(-0.78539816339745) +Y:-23.45 X:-23.45 float(-2.3561944901923) +Y:-23.45 X:23 float(-0.79508569671643) +Y:-23.45 X:23 float(-0.79508569671643) +Y:-23.45 X:23 float(-0.79508569671643) +Y:-23.45 X:23.45 float(-0.78539816339745) +Y:-23.45 X:2.345e1 float(-0.78539816339745) +Y:-23.45 X: float(-1.5707963267949) +Y:-23.45 X:1 float(-1.5281782247706) +Y:-23.45 X: float(-1.5707963267949) +Y:23 X:23 float(0.78539816339745) +Y:23 X:-23 float(2.3561944901923) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:-23.45 float(2.3658820235113) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:2.345e1 float(0.77571063007847) +Y:23 X: float(1.5707963267949) +Y:23 X:1 float(1.5273454314034) +Y:23 X: float(1.5707963267949) +Y:23 X:23 float(0.78539816339745) +Y:23 X:-23 float(2.3561944901923) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:-23.45 float(2.3658820235113) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:2.345e1 float(0.77571063007847) +Y:23 X: float(1.5707963267949) +Y:23 X:1 float(1.5273454314034) +Y:23 X: float(1.5707963267949) +Y:23 X:23 float(0.78539816339745) +Y:23 X:-23 float(2.3561944901923) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:-23.45 float(2.3658820235113) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23 float(0.78539816339745) +Y:23 X:23.45 float(0.77571063007847) +Y:23 X:2.345e1 float(0.77571063007847) +Y:23 X: float(1.5707963267949) +Y:23 X:1 float(1.5273454314034) +Y:23 X: float(1.5707963267949) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:-23 float(2.3465069568734) +Y:23.45 X:23.45 float(0.78539816339745) +Y:23.45 X:-23.45 float(2.3561944901923) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:23 float(0.79508569671643) +Y:23.45 X:23.45 float(0.78539816339745) +Y:23.45 X:2.345e1 float(0.78539816339745) +Y:23.45 X: float(1.5707963267949) +Y:23.45 X:1 float(1.5281782247706) +Y:23.45 X: float(1.5707963267949) +Y:2.345e1 X:23 float(0.79508569671643) +Y:2.345e1 X:-23 float(2.3465069568734) +Y:2.345e1 X:23.45 float(0.78539816339745) +Y:2.345e1 X:-23.45 float(2.3561944901923) +Y:2.345e1 X:23 float(0.79508569671643) +Y:2.345e1 X:23 float(0.79508569671643) +Y:2.345e1 X:23 float(0.79508569671643) +Y:2.345e1 X:23.45 float(0.78539816339745) +Y:2.345e1 X:2.345e1 float(0.78539816339745) +Y:2.345e1 X: float(1.5707963267949) +Y:2.345e1 X:1 float(1.5281782247706) +Y:2.345e1 X: float(1.5707963267949) +Y: X:23 float(0) +Y: X:-23 float(3.1415926535898) +Y: X:23.45 float(0) +Y: X:-23.45 float(3.1415926535898) +Y: X:23 float(0) +Y: X:23 float(0) +Y: X:23 float(0) +Y: X:23.45 float(0) +Y: X:2.345e1 float(0) +Y: X: float(0) +Y: X:1 float(0) +Y: X: float(0) +Y:1 X:23 float(0.043450895391531) +Y:1 X:-23 float(3.0981417581983) +Y:1 X:23.45 float(0.042618102024328) +Y:1 X:-23.45 float(3.0989745515655) +Y:1 X:23 float(0.043450895391531) +Y:1 X:23 float(0.043450895391531) +Y:1 X:23 float(0.043450895391531) +Y:1 X:23.45 float(0.042618102024328) +Y:1 X:2.345e1 float(0.042618102024328) +Y:1 X: float(1.5707963267949) +Y:1 X:1 float(0.78539816339745) +Y:1 X: float(1.5707963267949) +Y: X:23 float(0) +Y: X:-23 float(3.1415926535898) +Y: X:23.45 float(0) +Y: X:-23.45 float(3.1415926535898) +Y: X:23 float(0) +Y: X:23 float(0) +Y: X:23 float(0) +Y: X:23.45 float(0) +Y: X:2.345e1 float(0) +Y: X: float(0) +Y: X:1 float(0) +Y: X: float(0) diff --git a/ext/standard/tests/math/atan2_error.phpt b/ext/standard/tests/math/atan2_error.phpt new file mode 100644 index 0000000000..72649996fa --- /dev/null +++ b/ext/standard/tests/math/atan2_error.phpt @@ -0,0 +1,15 @@ +--TEST-- +Test atan2() - wrong params atan2() +--FILE-- + +--EXPECTF-- + +Warning: atan2() expects exactly 2 parameters, 0 given in %s on line %d + +Warning: atan2() expects exactly 2 parameters, 1 given in %s on line %d + +Warning: atan2() expects exactly 2 parameters, 3 given in %s on line %d diff --git a/ext/standard/tests/math/base_convert_basic.phpt b/ext/standard/tests/math/base_convert_basic.phpt new file mode 100644 index 0000000000..327f47c75a --- /dev/null +++ b/ext/standard/tests/math/base_convert_basic.phpt @@ -0,0 +1,316 @@ +--TEST-- +Test base_convert() - basic function tests base_convert() +--FILE-- + + +--EXPECTF-- +...from base is 2 +......to base is 2 +.........value= 10 res = 10 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 3 res = 0 +.........value= 95 res = 0 +.........value= 10 res = 10 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 5F res = 0 +.........value= 3XYZ res = 0 +......to base is 8 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 3 res = 0 +.........value= 95 res = 0 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 5F res = 0 +.........value= 3XYZ res = 0 +......to base is 10 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 3 res = 0 +.........value= 95 res = 0 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 5F res = 0 +.........value= 3XYZ res = 0 +......to base is 16 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 3 res = 0 +.........value= 95 res = 0 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 5F res = 0 +.........value= 3XYZ res = 0 +......to base is 36 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 3 res = 0 +.........value= 95 res = 0 +.........value= 10 res = 2 +.........value= 27 res = 0 +.........value= 39 res = 0 +.........value= 5F res = 0 +.........value= 3XYZ res = 0 + +...from base is 8 +......to base is 2 +.........value= 10 res = 1000 +.........value= 27 res = 10111 +.........value= 39 res = 11 +.........value= 3 res = 11 +.........value= 95 res = 101 +.........value= 10 res = 1000 +.........value= 27 res = 10111 +.........value= 39 res = 11 +.........value= 5F res = 101 +.........value= 3XYZ res = 11 +......to base is 8 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 3 +.........value= 3 res = 3 +.........value= 95 res = 5 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 3 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 +......to base is 10 +.........value= 10 res = 8 +.........value= 27 res = 23 +.........value= 39 res = 3 +.........value= 3 res = 3 +.........value= 95 res = 5 +.........value= 10 res = 8 +.........value= 27 res = 23 +.........value= 39 res = 3 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 +......to base is 16 +.........value= 10 res = 8 +.........value= 27 res = 17 +.........value= 39 res = 3 +.........value= 3 res = 3 +.........value= 95 res = 5 +.........value= 10 res = 8 +.........value= 27 res = 17 +.........value= 39 res = 3 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 +......to base is 36 +.........value= 10 res = 8 +.........value= 27 res = n +.........value= 39 res = 3 +.........value= 3 res = 3 +.........value= 95 res = 5 +.........value= 10 res = 8 +.........value= 27 res = n +.........value= 39 res = 3 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 + +...from base is 10 +......to base is 2 +.........value= 10 res = 1010 +.........value= 27 res = 11011 +.........value= 39 res = 100111 +.........value= 3 res = 11 +.........value= 95 res = 1011111 +.........value= 10 res = 1010 +.........value= 27 res = 11011 +.........value= 39 res = 100111 +.........value= 5F res = 101 +.........value= 3XYZ res = 11 +......to base is 8 +.........value= 10 res = 12 +.........value= 27 res = 33 +.........value= 39 res = 47 +.........value= 3 res = 3 +.........value= 95 res = 137 +.........value= 10 res = 12 +.........value= 27 res = 33 +.........value= 39 res = 47 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 +......to base is 10 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 39 +.........value= 3 res = 3 +.........value= 95 res = 95 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 39 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 +......to base is 16 +.........value= 10 res = a +.........value= 27 res = 1b +.........value= 39 res = 27 +.........value= 3 res = 3 +.........value= 95 res = 5f +.........value= 10 res = a +.........value= 27 res = 1b +.........value= 39 res = 27 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 +......to base is 36 +.........value= 10 res = a +.........value= 27 res = r +.........value= 39 res = 13 +.........value= 3 res = 3 +.........value= 95 res = 2n +.........value= 10 res = a +.........value= 27 res = r +.........value= 39 res = 13 +.........value= 5F res = 5 +.........value= 3XYZ res = 3 + +...from base is 16 +......to base is 2 +.........value= 10 res = 10000 +.........value= 27 res = 100111 +.........value= 39 res = 111001 +.........value= 3 res = 11 +.........value= 95 res = 10010101 +.........value= 10 res = 10000 +.........value= 27 res = 100111 +.........value= 39 res = 111001 +.........value= 5F res = 1011111 +.........value= 3XYZ res = 11 +......to base is 8 +.........value= 10 res = 20 +.........value= 27 res = 47 +.........value= 39 res = 71 +.........value= 3 res = 3 +.........value= 95 res = 225 +.........value= 10 res = 20 +.........value= 27 res = 47 +.........value= 39 res = 71 +.........value= 5F res = 137 +.........value= 3XYZ res = 3 +......to base is 10 +.........value= 10 res = 16 +.........value= 27 res = 39 +.........value= 39 res = 57 +.........value= 3 res = 3 +.........value= 95 res = 149 +.........value= 10 res = 16 +.........value= 27 res = 39 +.........value= 39 res = 57 +.........value= 5F res = 95 +.........value= 3XYZ res = 3 +......to base is 16 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 39 +.........value= 3 res = 3 +.........value= 95 res = 95 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 39 +.........value= 5F res = 5f +.........value= 3XYZ res = 3 +......to base is 36 +.........value= 10 res = g +.........value= 27 res = 13 +.........value= 39 res = 1l +.........value= 3 res = 3 +.........value= 95 res = 45 +.........value= 10 res = g +.........value= 27 res = 13 +.........value= 39 res = 1l +.........value= 5F res = 2n +.........value= 3XYZ res = 3 + +...from base is 36 +......to base is 2 +.........value= 10 res = 100100 +.........value= 27 res = 1001111 +.........value= 39 res = 1110101 +.........value= 3 res = 11 +.........value= 95 res = 101001001 +.........value= 10 res = 100100 +.........value= 27 res = 1001111 +.........value= 39 res = 1110101 +.........value= 5F res = 11000011 +.........value= 3XYZ res = 101100111010111011 +......to base is 8 +.........value= 10 res = 44 +.........value= 27 res = 117 +.........value= 39 res = 165 +.........value= 3 res = 3 +.........value= 95 res = 511 +.........value= 10 res = 44 +.........value= 27 res = 117 +.........value= 39 res = 165 +.........value= 5F res = 303 +.........value= 3XYZ res = 547273 +......to base is 10 +.........value= 10 res = 36 +.........value= 27 res = 79 +.........value= 39 res = 117 +.........value= 3 res = 3 +.........value= 95 res = 329 +.........value= 10 res = 36 +.........value= 27 res = 79 +.........value= 39 res = 117 +.........value= 5F res = 195 +.........value= 3XYZ res = 183995 +......to base is 16 +.........value= 10 res = 24 +.........value= 27 res = 4f +.........value= 39 res = 75 +.........value= 3 res = 3 +.........value= 95 res = 149 +.........value= 10 res = 24 +.........value= 27 res = 4f +.........value= 39 res = 75 +.........value= 5F res = c3 +.........value= 3XYZ res = 2cebb +......to base is 36 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 39 +.........value= 3 res = 3 +.........value= 95 res = 95 +.........value= 10 res = 10 +.........value= 27 res = 27 +.........value= 39 res = 39 +.........value= 5F res = 5f +.........value= 3XYZ res = 3xyz \ No newline at end of file diff --git a/ext/standard/tests/math/base_convert_error.phpt b/ext/standard/tests/math/base_convert_error.phpt new file mode 100644 index 0000000000..5614073944 --- /dev/null +++ b/ext/standard/tests/math/base_convert_error.phpt @@ -0,0 +1,21 @@ +--TEST-- +Test base_convert() - wrong params base_convert() +--FILE-- + +--EXPECTF-- + +Warning: base_convert() expects exactly 3 parameters, 0 given in %s on line %d + +Warning: base_convert() expects exactly 3 parameters, 1 given in %s on line %d + +Warning: base_convert() expects exactly 3 parameters, 2 given in %s on line %d + +Warning: base_convert(): Invalid `from base' (1) in %s on line %d + +Warning: base_convert(): Invalid `to base' (37) in %s on line %d diff --git a/ext/standard/tests/math/bindec_basic.phpt b/ext/standard/tests/math/bindec_basic.phpt new file mode 100644 index 0000000000..fe9ab099f7 --- /dev/null +++ b/ext/standard/tests/math/bindec_basic.phpt @@ -0,0 +1,49 @@ +--TEST-- +Test bindec() - basic function test bindec() +--FILE-- + +--EXPECTF-- +int(455) +int(0) +int(32766) +int(5) +int(129) +int(455) +int(224) +int(2147483647) +float(2147483648) +int(129) +int(0) +int(13) +int(13) +int(26) +int(6) +int(0) +int(1) +int(0) +int(0) \ No newline at end of file diff --git a/ext/standard/tests/math/bindec_error.phpt b/ext/standard/tests/math/bindec_error.phpt new file mode 100644 index 0000000000..1cf313f520 --- /dev/null +++ b/ext/standard/tests/math/bindec_error.phpt @@ -0,0 +1,12 @@ +--TEST-- +Test bindec() - basic function test bindec() +--FILE-- + +--EXPECTF-- + +Warning: bindec() expects exactly 1 parameter, 0 given in %s on line %d + +Warning: bindec() expects exactly 1 parameter, 2 given in %s on line %d diff --git a/ext/standard/tests/math/constants_basic.phpt b/ext/standard/tests/math/constants_basic.phpt new file mode 100644 index 0000000000..0220d93355 --- /dev/null +++ b/ext/standard/tests/math/constants_basic.phpt @@ -0,0 +1,65 @@ +--TEST-- +Test for pre-defined math constants +--INI-- +precision=14 +--FILE-- + +--EXPECT-- +M_E= float(2.718281828459) +M_LOG2E= float(1.442695040889) +M_LOG10E= float(0.43429448190325) +M_LN2= float(0.69314718055995) +M_LN10= float(2.302585092994) +M_PI= float(3.1415926535898) +M_PI_2= float(1.5707963267949) +M_PI_4= float(0.78539816339745) +M_1_PI= float(0.31830988618379) +M_2_PI= float(0.63661977236758) +M_SQRTPI= float(1.7724538509055) +M_2_SQRTPI= float(1.1283791670955) +M_LNPI= float(1.1447298858494) +M_EULER= float(0.57721566490153) +M_SQRT2= float(1.4142135623731) +M_SQRT1_2= float(0.70710678118655) +M_SQRT3= float(1.7320508075689) +INF= float(INF) +NAN= float(NAN) diff --git a/ext/standard/tests/math/decbin_basic.phpt b/ext/standard/tests/math/decbin_basic.phpt new file mode 100644 index 0000000000..6707c02a3f --- /dev/null +++ b/ext/standard/tests/math/decbin_basic.phpt @@ -0,0 +1,53 @@ +--TEST-- +Test decbin() - basic function test +--FILE-- + + +--EXPECTF-- +string(4) "1010" +string(12) "111101101110" +string(12) "111101101110" +string(2) "11" +string(7) "1011111" +string(4) "1010" +string(12) "111101101110" +string(2) "11" +string(6) "100111" +string(1) "0" +string(1) "1" +string(1) "0" +string(1) "0" +--UEXPECTF-- +unicode(4) "1010" +unicode(12) "111101101110" +unicode(12) "111101101110" +unicode(2) "11" +unicode(7) "1011111" +unicode(4) "1010" +unicode(12) "111101101110" +unicode(2) "11" +unicode(6) "100111" +unicode(1) "0" +unicode(1) "1" +unicode(1) "0" +unicode(1) "0" diff --git a/ext/standard/tests/math/decbin_error.phpt b/ext/standard/tests/math/decbin_error.phpt new file mode 100644 index 0000000000..7df4f12c3a --- /dev/null +++ b/ext/standard/tests/math/decbin_error.phpt @@ -0,0 +1,12 @@ +--TEST-- +Test decbin() - wrong params +--FILE-- + +--EXPECTF-- + +Warning: decbin() expects exactly 1 parameter, 0 given in %s on line %d + +Warning: decbin() expects exactly 1 parameter, 3 given in %s on line %d -- 2.40.0