getCommand(); $command->setArguments($actualArguments); $this->assertSameValues($expectedArguments, $command->getArguments()); } /** * @group disconnected */ public function testParseResponse(): void { $this->assertSame(1, $this->getCommand()->parseResponse(1)); } /** * @group connected * @group relay-resp3 * @return void * @requiresRedisBfVersion >= 2.4.0 */ public function testReturnsValuesBelowGivenQuantile(): void { $redis = $this->getClient(); $redis->tdigestcreate('key', 1000); $addResponse = $redis->tdigestadd('key', 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5); $quantileResponse = $redis->tdigestquantile('key', 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0); $this->assertEquals('OK', $addResponse); $this->assertEquals(['1', '2', '3', '3', '4', '4', '4', '5', '5', '5', '5'], $quantileResponse); $redis->tdigestcreate('empty_key'); $this->assertEquals(['nan', 'nan'], $redis->tdigestquantile('empty_key', 0.0, 0.1)); } /** * @group connected * @return void * @requiresRedisBfVersion >= 2.4.0 */ public function testThrowsExceptionOnNonExistingTDigestSketch(): void { $redis = $this->getClient(); $this->expectException(ServerException::class); $this->expectExceptionMessage('ERR T-Digest: key does not exist'); $redis->tdigestquantile('key', 1, 2, 3); } }