/** * Union join the values of one or more with this Seq and return a new Seq * @param array $arrayLikeN An array of transversable * @return Seq */ public function union(...$arrayLikeN) { $output = [$this->hash]; foreach ($arrayLikeN as $arg => $value) { $output[] = __PRIVATE__::traversableToArray(__CONTRACT__::argIsATraversable($value, $arg)); } return static::from(call_user_func_array('array_merge', $output)); }
/** * @covers ::argIsATraversable * @dataProvider notTraversableProvider */ public function test_argIsATraversable_exception($notTransversable) { $this->expectException(\InvalidArgumentException::class); contract::argIsATraversable($notTransversable); }