testClass = new class() extends RedisCommand { use LimitObject; public function getId() { return 'test'; } }; } /** * @dataProvider argumentsProvider * @param array $actualArguments * @param array $expectedArguments * @return void */ public function testReturnsCorrectArguments(array $actualArguments, array $expectedArguments): void { $this->testClass->setArguments($actualArguments); $this->assertSame($expectedArguments, $this->testClass->getArguments()); } public function argumentsProvider(): array { return [ 'with non-existing LimitInterface' => [ ['value'], ['value'], ], 'with existing LimitInterface' => [ [new LimitOffsetCount(0, 1)], ['LIMIT', 0, 1], ], ]; } }