= 5.0.0 */ public function testReturnsPoppedMaxElementFromGivenNonEmptySortedSet(): void { $redis = $this->getClient(); $sortedSetDictionary = [1, 'member1', 2, 'member2', 3, 'member3']; $expectedResponse = ['test-bzpopmax' => ['member3' => '3']]; $expectedModifiedSortedSet = ['member1', 'member2']; $redis->zadd('test-bzpopmax', ...$sortedSetDictionary); $this->assertSame($expectedResponse, $redis->bzpopmax(['empty sorted set', 'test-bzpopmax'], 0)); $this->assertSame($expectedModifiedSortedSet, $redis->zrange('test-bzpopmax', 0, -1)); } /** * @group connected * @return void * @requiresRedisVersion >= 5.0.0 */ public function testThrowsExceptionOnUnexpectedValueGiven(): void { $redis = $this->getClient(); $this->expectException(UnexpectedValueException::class); $this->expectExceptionMessage('Wrong keys argument type or position offset'); $redis->bzpopmax(1, 0); } /** * @group connected * @requiresRedisVersion >= 5.0.0 */ public function testThrowsExceptionOnWrongType(): void { $this->expectException(ServerException::class); $this->expectExceptionMessage('Operation against a key holding the wrong kind of value'); $redis = $this->getClient(); $redis->set('bzpopmax_foo', 'bar'); $redis->bzpopmax(['bzpopmax_foo'], 0); } }