Annotation of embedaddon/php/ext/standard/tests/array/array_sum_variation7.phpt, revision 1.1.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>