$expected * @param list $first * @param iterable ...$rest * * @return list * * @dataProvider provideData */ public function testConcat(array $expected, array $first, iterable ...$rest): void { static::assertSame($expected, Vec\concat($first, ...$rest)); } public function provideData(): array { return [ [ ['a', 'b', 'c'], ['foo' => 'a'], ['bar' => 'b'], ['baz' => 'c'], ], [ ['foo', 'bar', 'baz', 'qux'], ['foo'], ['bar'], ['baz', 'qux'], ], [ [1, 2, 3], [1, 2, 3], ], ]; } }