function testZsetRemoveRangeByScore() { $zset = RC::zsetAddAndReturn($this->redis, 'zset', RC::getZSetArray()); $this->assertEquals(2, $this->redis->zsetRemoveRangeByScore('zset', -10, 0)); $this->assertEquals(array('c', 'd', 'e', 'f'), $this->redis->zsetRange('zset', 0, -1)); $this->assertEquals(1, $this->redis->zsetRemoveRangeByScore('zset', 10, 10)); $this->assertEquals(array('d', 'e', 'f'), $this->redis->zsetRange('zset', 0, -1)); $this->assertEquals(0, $this->redis->zsetRemoveRangeByScore('zset', 100, 100)); $this->assertEquals(3, $this->redis->zsetRemoveRangeByScore('zset', 0, 100)); $this->assertEquals(0, $this->redis->zsetRemoveRangeByScore('zset', 0, 100)); $this->assertEquals(0, $this->redis->zsetRemoveRangeByScore('zsetDoesNotExist', 0, 100)); RC::testForServerException($this, RC::EXCEPTION_WRONG_TYPE, function ($test) { $test->redis->set('foo', 'bar'); $test->redis->zsetRemoveRangeByScore('foo', 0, 0); }); }
function testZsetRemoveRangeByRank() { RC::zsetAddAndReturn($this->redis, 'zseta', RC::getZSetArray()); $this->assertEquals(3, $this->redis->zremrangebyrank('zseta', 0, 2)); $this->assertEquals(array('d', 'e', 'f'), $this->redis->zrange('zseta', 0, -1)); $this->assertEquals(1, $this->redis->zremrangebyrank('zseta', 0, 0)); $this->assertEquals(array('e', 'f'), $this->redis->zrange('zseta', 0, -1)); RC::zsetAddAndReturn($this->redis, 'zsetb', RC::getZSetArray()); $this->assertEquals(3, $this->redis->zremrangebyrank('zsetb', -3, -1)); $this->assertEquals(array('a', 'b', 'c'), $this->redis->zrange('zsetb', 0, -1)); $this->assertEquals(1, $this->redis->zremrangebyrank('zsetb', -1, -1)); $this->assertEquals(array('a', 'b'), $this->redis->zrange('zsetb', 0, -1)); $this->assertEquals(2, $this->redis->zremrangebyrank('zsetb', -2, 1)); $this->assertEquals(array(), $this->redis->zrange('zsetb', 0, -1)); $this->assertFalse($this->redis->exists('zsetb')); $this->assertEquals(0, $this->redis->zremrangebyrank('zsetc', 0, 0)); RC::testForServerException($this, RC::EXCEPTION_WRONG_TYPE, p_anon("\$test", "\n \$test->redis->set('foo', 'bar');\n \$test->redis->zremrangebyrank('foo', 0, 1);\n ")); }
function testZrank() { $zset = RC::zsetAddAndReturn($this->redis, 'zset', RC::getZSetArray()); $this->assertEquals(0, $this->redis->zsetRank('zset', 'a')); $this->assertEquals(1, $this->redis->zsetRank('zset', 'b')); $this->assertEquals(4, $this->redis->zsetRank('zset', 'e')); $this->redis->zsetRemove('zset', 'd'); $this->assertEquals(3, $this->redis->zsetRank('zset', 'e')); $this->assertNull($this->redis->zsetRank('zset', 'x')); RC::testForServerException($this, RC::EXCEPTION_WRONG_TYPE, function ($test) { $test->redis->set('foo', 'bar'); $test->redis->zsetRank('foo', 'a'); }); }