kraghuba Tue Nov 27 15:00:55 2007 UTC Added files: (Branch: PHP_5_2) /php-src/ext/standard/tests/array array_sum_variation5.phpt array_sum_variation6.phpt array_sum_variation7.phpt array_sum_error.phpt array_sum_basic.phpt array_sum_variation1.phpt array_sum_variation2.phpt array_sum_variation3.phpt array_sum_variation4.phpt Log: New testcases for array_sum() function
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation5.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation5.phpt +++ php-src/ext/standard/tests/array/array_sum_variation5.phpt --TEST-- Test array_sum() function : usage variations - array with reference variables --FILE-- <?php /* Prototype : mixed array_sum(array $input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */
/* * Testing array_sum() with 'input' containing different reference variables */ echo "*** Testing array_sum() : array with elements as reference ***\n"; // different variables which are used as elements of 'array_arg' $value1 = -5; $value2 = 100; $value3 = 0; $value4 = &$value1; // input an array containing elements with reference variables $input = array( 0 => 10, 1 => &$value4, 2 => &$value2, 3 => 200, 4 => &$value3, ); var_dump( array_sum($input) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : array with elements as reference *** int(305) Done --UEXPECTF-- *** Testing array_sum() : array with elements as reference *** int(305) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation6.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation6.phpt +++ php-src/ext/standard/tests/array/array_sum_variation6.phpt --TEST-- Test array_sum() function : usage variations - associative array --FILE-- <?php /* Prototype : mixed array_sum(array $input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ /* * Testing array_sum() with associative array as 'input' argument */ echo "*** Testing array_sum() : with associative array ***\n"; // array with numeric keys $input = array(0 => 1, 1 => 10, 2 => 0, 3 => -2, 4 => 23.56); echo "-- with numeric keys --\n"; var_dump( array_sum($input) ); // array with string keys $input = array('a' => 20, "b" => 50, 'c' => 0, 'd' => -30, "e" => 100); echo "-- with string keys --\n"; var_dump( array_sum($input) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : with associative array *** -- with numeric keys -- float(32.56) -- with string keys -- int(140) Done --UEXPECTF-- *** Testing array_sum() : with associative array *** -- with numeric keys -- float(32.56) -- with string keys -- int(140) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation7.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation7.phpt +++ php-src/ext/standard/tests/array/array_sum_variation7.phpt --TEST-- Test array_sum() function : usage variations - 'input' array with unexpected values as array element --FILE-- <?php /* Prototype : mixed array_sum(array $input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ /* * Testing array_sum() with array having other than numeric entries * strings, bool, null, subarrays, objects */ echo "*** Testing array_sum() : array with unexpected entries ***\n"; // empty array $input = array(); echo "-- empty array --\n"; var_dump( array_sum($input) ); // string array $input = array('Apple', 'Banana', 'Carrot', 'Mango', 'Orange'); echo "-- array with string values --\n"; var_dump( array_sum($input) ); // bool array $input = array( true, true, false, true, false); echo "-- array with bool values --\n"; var_dump( array_sum($input) ); // array with null entry $input = array(null, NULL); echo "-- array with null values --\n"; var_dump( array_sum($input) ); // array with subarray $input = array( array(1, 2), array(), array(0) ); echo "-- array with subarrays --\n"; var_dump( array_sum($input) ); class MyClass { public $value; public function __construct($value) { $this->value = $value; } } // array of objects $input = array( new MyClass(2), new MyClass(5), new MyClass(10), new MyClass(0) ); echo "-- array with object values --\n"; var_dump( array_sum($input) ); // Mixed values $input = array( 5, -8, 7.2, -1.2, "10", "apple", 'Mango', true, false, null, NULL, array( array(1,2), array(0), array())); echo "-- array with mixed values --\n"; var_dump( array_sum($input) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : array with unexpected entries *** -- empty array -- int(0) -- array with string values -- int(0) -- array with bool values -- int(3) -- array with null values -- int(0) -- array with subarrays -- int(0) -- array with object values -- int(0) -- array with mixed values -- float(14) Done --UEXPECTF-- *** Testing array_sum() : array with unexpected entries *** -- empty array -- int(0) -- array with string values -- int(0) -- array with bool values -- int(3) -- array with null values -- int(0) -- array with subarrays -- int(0) -- array with object values -- int(0) -- array with mixed values -- float(14) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_error.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_error.phpt +++ php-src/ext/standard/tests/array/array_sum_error.phpt --TEST-- Test array_sum() function : error conditions --FILE-- <?php /* Prototype : mixed array_sum(array &input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ echo "*** Testing array_sum() : error conditions ***\n"; // Zero arguments echo "-- Testing array_sum() function with zero arguments --\n"; var_dump( array_sum() ); // One more than the expected number of arguments echo "-- Testing array_sum() function with more than expected no. of arguments --\n"; $input = array(1, 2, 3, 4); $extra_arg = 10; var_dump( array_sum($input, $extra_arg) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : error conditions *** -- Testing array_sum() function with zero arguments -- Warning: array_sum() expects exactly 1 parameter, 0 given in %s on line %d NULL -- Testing array_sum() function with more than expected no. of arguments -- Warning: array_sum() expects exactly 1 parameter, 2 given in %s on line %d NULL Done --UEXPECTF-- *** Testing array_sum() : error conditions *** -- Testing array_sum() function with zero arguments -- Warning: array_sum() expects exactly 1 parameter, 0 given in %s on line %d NULL -- Testing array_sum() function with more than expected no. of arguments -- Warning: array_sum() expects exactly 1 parameter, 2 given in %s on line %d NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_basic.phpt +++ php-src/ext/standard/tests/array/array_sum_basic.phpt --TEST-- Test array_sum() function : basic functionality --FILE-- <?php /* Prototype : mixed array_sum(array &input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ echo "*** Testing array_sum() : basic functionality ***\n"; // array with integer values $input = array(1, 2, 3, 4, 5); echo "-- array_sum() with integer array entries --\n"; var_dump( array_sum($input) ); // array with float values $input = array(1.0, 2.2, 3.4, 4.6); echo "-- array_sum() with float array entries --\n"; var_dump( array_sum($input) ); // array with integer and float values $input = array(1, 2.3, 4, 0.6, 10); echo "-- array_sum() with integer/float array entries --\n"; var_dump( array_sum($input) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : basic functionality *** -- array_sum() with integer array entries -- int(15) -- array_sum() with float array entries -- float(11.2) -- array_sum() with integer/float array entries -- float(17.9) Done --UEXPECTF-- *** Testing array_sum() : basic functionality *** -- array_sum() with integer array entries -- int(15) -- array_sum() with float array entries -- float(11.2) -- array_sum() with integer/float array entries -- float(17.9) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation1.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation1.phpt +++ php-src/ext/standard/tests/array/array_sum_variation1.phpt --TEST-- Test array_sum() function : usage variations - unexpected values for 'input' argument --FILE-- <?php /* Prototype : mixed array_sum(array $input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ /* * Passing different scalar/nonscalar values as 'input' argument to array_sum() */ echo "*** Testing array_sum() : unexpected values for 'input' ***\n"; // get an unset variable $unset_var = 10; unset ($unset_var); // Class definition class MyClass { public function __toString() { return "object"; } } // different scalar/non scalar values for 'input' argument $input_values = array( // int data /* 1 */ 0, 1, 12345, /* 4 */ -2345, // float data /* 5 */ 10.5, -10.5, 10.1234567e8, 10.7654321E-8, /* 9 */ .5, // null data /* 10*/ NULL, null, // boolean data /* 12*/ true, false, TRUE, FALSE, // empty data /* 16*/ "", '', // string data /* 18*/ "string", 'string', // object data /* 20*/ new MyClass(), // resource data $fp = fopen(__FILE__,'r'), // undefined data @$undefined_var, // unset data /* 23*/ @$unset_var, ); // loop through each element of the array for input for($count = 0; $count < count($input_values); $count++) { echo "-- Iteration ".($count + 1)." --\n"; var_dump( array_sum($input_values[$count]) ); }; fclose($fp); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : unexpected values for 'input' *** -- Iteration 1 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 2 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 3 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 4 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 5 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 6 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 7 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 8 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 9 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 10 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 11 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 12 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 13 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 14 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 15 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 16 -- Warning: array_sum() expects parameter 1 to be array, string given in %s on line %d NULL -- Iteration 17 -- Warning: array_sum() expects parameter 1 to be array, string given in %s on line %d NULL -- Iteration 18 -- Warning: array_sum() expects parameter 1 to be array, string given in %s on line %d NULL -- Iteration 19 -- Warning: array_sum() expects parameter 1 to be array, string given in %s on line %d NULL -- Iteration 20 -- Warning: array_sum() expects parameter 1 to be array, object given in %s on line %d NULL -- Iteration 21 -- Warning: array_sum() expects parameter 1 to be array, resource given in %s on line %d NULL -- Iteration 22 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 23 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL Done --UEXPECTF-- *** Testing array_sum() : unexpected values for 'input' *** -- Iteration 1 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 2 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 3 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 4 -- Warning: array_sum() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 5 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 6 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 7 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 8 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 9 -- Warning: array_sum() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 10 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 11 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 12 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 13 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 14 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 15 -- Warning: array_sum() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 16 -- Warning: array_sum() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 17 -- Warning: array_sum() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 18 -- Warning: array_sum() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 19 -- Warning: array_sum() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 20 -- Warning: array_sum() expects parameter 1 to be array, object given in %s on line %d NULL -- Iteration 21 -- Warning: array_sum() expects parameter 1 to be array, resource given in %s on line %d NULL -- Iteration 22 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 23 -- Warning: array_sum() expects parameter 1 to be array, null given in %s on line %d NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation2.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation2.phpt +++ php-src/ext/standard/tests/array/array_sum_variation2.phpt --TEST-- Test array_sum() function : usage variations - array with different integer value --FILE-- <?php /* Prototype : mixed array_sum(array &input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ /* * Testing array_sum() with different types of integer arrays containing data of following type: * integer, octal, hexadecimal, maximum and minimum integer values & mixed of all integers */ echo "*** Testing array_sum() : with different integer array ***\n"; // Int array $int_values = array(3, 2, 100, 150, 25, 350, 0, -3, -1200); echo "-- Sum of Integer array --\n"; var_dump( array_sum($int_values) ); // Octal array $octal_values = array(056, 023, 090, 015, -045, 01, -078); echo "-- Sum of Octal array --\n"; var_dump( array_sum($octal_values) ); // Hexadecimal array $hex_values = array(0xAE, 0x2B, 0X10, -0xCF, 0X12, -0XF2); echo "-- Sum of Hex array --\n"; var_dump( array_sum($hex_values) ); // Mixed values int, octal & hex $mixed_int_value = array(2, 5, -1, 054, 0X3E, 0, -014, -0x2A); echo "-- Sum of mixed integer values --\n"; var_dump( array_sum($mixed_int_value) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : with different integer array *** -- Sum of Integer array -- int(-573) -- Sum of Octal array -- int(35) -- Sum of Hex array -- int(-198) -- Sum of mixed integer values -- int(58) Done --UEXPECTF-- *** Testing array_sum() : with different integer array *** -- Sum of Integer array -- int(-573) -- Sum of Octal array -- int(35) -- Sum of Hex array -- int(-198) -- Sum of mixed integer values -- int(58) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation3.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation3.phpt +++ php-src/ext/standard/tests/array/array_sum_variation3.phpt --TEST-- Test array_sum() function : usage variations - array with different float values --FILE-- <?php /* Prototype : mixed array_sum(array $input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ /* * sum of array containing different float values */ echo "*** Testing array_sum() : array with different float values ***\n"; // Simple float array $float_input = array( 1.1, 2.3, 0.0, 0.5, -2.3, -0.8, .5); echo "-- simple float array --\n"; var_dump( array_sum($float_input) ); // float array with scientific notations $float_input = array( 1.2e2, 23.4e3, -4.1e2, 0.2e2, 2.1e-2, .5e3); echo "-- float array with scientific notations e and E --\n"; var_dump( array_sum($float_input) ); $float_input = array( 1.2E2, 23.4E3, -4.1E2, 0.2E2, 2.1E-2, .5E2); var_dump( array_sum($float_input) ); // Mixed float array $float_input = array( 1.2, 0.5 -5.8, 6.334, -0.65, 1.2e3, -2.3e2, 5.56E3, -3.82E-2 ); echo "-- Mixed float array --\n"; var_dump( array_sum($float_input) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : array with different float values *** -- simple float array -- float(1.3) -- float array with scientific notations e and E -- float(23630.021) float(23180.021) -- Mixed float array -- float(6531.5458) Done --UEXPECTF-- *** Testing array_sum() : array with different float values *** -- simple float array -- float(1.3) -- float array with scientific notations e and E -- float(23630.021) float(23180.021) -- Mixed float array -- float(6531.5458) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_sum_variation4.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_sum_variation4.phpt +++ php-src/ext/standard/tests/array/array_sum_variation4.phpt --TEST-- Test array_sum() function : usage variations - array with duplicate values --FILE-- <?php /* Prototype : mixed array_sum(array $input) * Description: Returns the sum of the array entries * Source code: ext/standard/array.c */ /* * Checking array_sum() with integer and float array containing duplicate values */ echo "*** Testing array_sum() : array with duplicate values ***\n"; // integer array with duplicate values $int_input = array( 2, 5, 7, 5, 0, -4, 2, 100); echo "-- With integer array --\n"; var_dump( array_sum($int_input) ); // float array with duplicate values $float_input = array( 2.3, 1.9, -4.1, 0.5, 1.9, -4.1, 3.6, 0.5); echo "-- With float array --\n"; var_dump( array_sum($float_input) ); echo "Done" ?> --EXPECTF-- *** Testing array_sum() : array with duplicate values *** -- With integer array -- int(117) -- With float array -- float(2.5) Done --UEXPECTF-- *** Testing array_sum() : array with duplicate values *** -- With integer array -- int(117) -- With float array -- float(2.5) Done
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php