Esempio n. 1
0
 /**
  * Constructor
  * Each item in a list should be callable
  * @param array $list default empty array
  * @throws \Copycat\System\Exception
  */
 public function __construct(array $list = array())
 {
     foreach ($list as $callback) {
         System::checkCallable($callback);
     }
     parent::__construct($list);
 }
Esempio n. 2
0
 /**
  * Constructor
  * @param array|null $list default null
  * @throws \Copycat\Callback\Exception
  */
 public function __construct(array $list = null)
 {
     parent::__construct();
     if (!empty($list)) {
         foreach ($list as $key => $value) {
             if (!$value instanceof Collection) {
                 throw new Exception('Wrond stucture is given for handling');
             }
             $this->add($key, $value);
         }
     }
 }
Esempio n. 3
0
 /**
  * Tests reducing
  * @covers \Copycat\Structure\CollectionAbstract::reduce()
  */
 public function testReduce()
 {
     $this->assertFalse($this->collection->reduce(function ($init) {
         return $init;
     }, false));
     $this->assertTrue($this->collection->reduce(function ($init) {
         return $init;
     }, true));
     $this->assertEquals('foo', $this->collection->reduce(function ($init, $item) {
         return !$init ?: $item;
     }, true));
     $this->assertEquals('foo', $this->collection->reduce(function ($init, $item) {
         return !$init ?: $item;
     }, true, 'foo'));
     $this->assertEquals('foo', $this->collection->reduce(function ($init, $item) {
         return !$init ?: $item;
     }, true, 'bar'));
 }