getCommand(); $command->setArguments(['key']); $this->assertSame(['key'], $command->getArguments()); $command->setArguments(['key', 3]); $this->assertSame(['key', 3], $command->getArguments()); $command->setArguments(['key', null]); $this->assertSame(['key'], $command->getArguments()); } /** * @return void */ public function testParseResponse(): void { $this->assertEquals(1, $this->getCommand()->parseResponse(1)); } /** * @group connected * @return void * @requiresRedisVersion >= 8.0.0 */ public function testReturnsRandomMember(): void { $redis = $this->getClient(); $this->assertTrue( $redis->vadd('key', VectorUtility::toBlob([0.1, 0.2, 0.3, 0.4]), 'elem1', 10) ); $this->assertTrue( $redis->vadd('key', [0.1, 0.2, 0.3, 0.4], 'elem2', 10) ); $this->assertTrue( $redis->vadd('key', [0.1, 0.2, 0.3, 0.4], 'elem3', 10, true) ); // With no count $this->assertTrue(in_array($redis->vrandmember('key'), ['elem1', 'elem2', 'elem3'])); foreach ($redis->vrandmember('key', 2) as $elem) { $this->assertTrue(in_array($elem, ['elem1', 'elem2', 'elem3'])); } $this->assertNull($redis->vrandmember('wrong')); $this->assertEmpty($redis->vrandmember('wrong', 2)); } /** * @group connected * @return void * @requiresRedisVersion >= 8.0.0 */ public function testReturnsRandomMemberResp3(): void { $redis = $this->getResp3Client(); $this->assertTrue( $redis->vadd('key', VectorUtility::toBlob([0.1, 0.2, 0.3, 0.4]), 'elem1', 10) ); $this->assertTrue( $redis->vadd('key', [0.1, 0.2, 0.3, 0.4], 'elem2', 10) ); $this->assertTrue( $redis->vadd('key', [0.1, 0.2, 0.3, 0.4], 'elem3', 10, true) ); // With no count $this->assertTrue(in_array($redis->vrandmember('key'), ['elem1', 'elem2', 'elem3'])); foreach ($redis->vrandmember('key', 2) as $elem) { $this->assertTrue(in_array($elem, ['elem1', 'elem2', 'elem3'])); } $this->assertNull($redis->vrandmember('wrong')); $this->assertEmpty($redis->vrandmember('wrong', 2)); } }