expectException(\InvalidArgumentException::class); Sliding::window([1, 2, 3], size: 0); } public function testInvalidStepThrows(): void { $this->expectException(\InvalidArgumentException::class); Sliding::window([1, 2, 3], size: 2, step: 0); } public function testAssociativeKeysAreStripped(): void { $result = Sliding::window(['a' => 1, 'b' => 2, 'c' => 3], size: 2); self::assertSame([[1, 2], [2, 3]], $result); } }