Annotation of embedaddon/php/ext/standard/tests/array/array_sum_variation7.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_sum() function : usage variations - 'input' array with unexpected values as array element
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : mixed array_sum(array $input)
! 6: * Description: Returns the sum of the array entries
! 7: * Source code: ext/standard/array.c
! 8: */
! 9:
! 10: /*
! 11: * Testing array_sum() with array having other than numeric entries
! 12: * strings, bool, null, subarrays & objects
! 13: */
! 14:
! 15: echo "*** Testing array_sum() : array with unexpected entries ***\n";
! 16:
! 17: // empty array
! 18: $input = array();
! 19: echo "-- empty array --\n";
! 20: var_dump( array_sum($input) );
! 21:
! 22: // string array
! 23: $input = array('Apple', 'Banana', 'Carrot', 'Mango', 'Orange');
! 24: echo "-- array with string values --\n";
! 25: var_dump( array_sum($input) );
! 26:
! 27: // bool array
! 28: $input = array( true, true, false, true, false);
! 29: echo "-- array with bool values --\n";
! 30: var_dump( array_sum($input) );
! 31:
! 32: // array with null entry
! 33: $input = array(null, NULL);
! 34: echo "-- array with null values --\n";
! 35: var_dump( array_sum($input) );
! 36:
! 37: // array with subarray
! 38: $input = array(
! 39: array(1, 2),
! 40: array(),
! 41: array(0)
! 42: );
! 43: echo "-- array with subarrays --\n";
! 44: var_dump( array_sum($input) );
! 45:
! 46: class MyClass
! 47: {
! 48: public $value;
! 49: public function __construct($value)
! 50: {
! 51: $this->value = $value;
! 52: }
! 53: }
! 54: // array of objects
! 55: $input = array(
! 56: new MyClass(2),
! 57: new MyClass(5),
! 58: new MyClass(10),
! 59: new MyClass(0)
! 60: );
! 61: echo "-- array with object values --\n";
! 62: var_dump( array_sum($input) );
! 63:
! 64: // Mixed values
! 65: $input = array( 5, -8, 7.2, -1.2, "10", "apple", 'Mango', true, false, null, NULL, array( array(1,2), array(0), array()));
! 66: echo "-- array with mixed values --\n";
! 67: var_dump( array_sum($input) );
! 68: echo "Done"
! 69: ?>
! 70: --EXPECTF--
! 71: *** Testing array_sum() : array with unexpected entries ***
! 72: -- empty array --
! 73: int(0)
! 74: -- array with string values --
! 75: int(0)
! 76: -- array with bool values --
! 77: int(3)
! 78: -- array with null values --
! 79: int(0)
! 80: -- array with subarrays --
! 81: int(0)
! 82: -- array with object values --
! 83: int(0)
! 84: -- array with mixed values --
! 85: float(14)
! 86: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>