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);
     });
 }
Example #2
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        "));
 }
Example #3
0
 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');
     });
 }