function testSort() { $unorderedList = RC::pushTailAndReturn($this->redis, 'unordered', array(2, 100, 3, 1, 30, 10)); // without parameters $this->assertEquals(array(1, 2, 3, 10, 30, 100), $this->redis->sort('unordered')); // with parameter ASC/DESC $this->assertEquals(array(100, 30, 10, 3, 2, 1), $this->redis->sort('unordered', array('sort' => 'desc'))); // with parameter LIMIT $this->assertEquals(array(1, 2, 3), $this->redis->sort('unordered', array('limit' => array(0, 3)))); $this->assertEquals(array(10, 30), $this->redis->sort('unordered', array('limit' => array(3, 2)))); // with parameter ALPHA $this->assertEquals(array(1, 10, 100, 2, 3, 30), $this->redis->sort('unordered', array('alpha' => true))); // with combined parameters $this->assertEquals(array(30, 10, 3, 2), $this->redis->sort('unordered', array('alpha' => false, 'sort' => 'desc', 'limit' => array(1, 4)))); // with parameter ALPHA $this->assertEquals(array(1, 10, 100, 2, 3, 30), $this->redis->sort('unordered', array('alpha' => true))); // with parameter STORE $this->assertEquals(count($unorderedList), $this->redis->sort('unordered', array('store' => 'ordered'))); $this->assertEquals(array(1, 2, 3, 10, 30, 100), $this->redis->lrange('ordered', 0, -1)); // with parameter GET $this->redis->rpush('uids', 1003); $this->redis->rpush('uids', 1001); $this->redis->rpush('uids', 1002); $this->redis->rpush('uids', 1000); $sortget = array('uid:1000' => 'foo', 'uid:1001' => 'bar', 'uid:1002' => 'hoge', 'uid:1003' => 'piyo'); $this->redis->mset($sortget); $this->assertEquals(array_values($sortget), $this->redis->sort('uids', array('get' => 'uid:*'))); // wrong type RC::testForServerException($this, RC::EXCEPTION_WRONG_TYPE, p_anon("\$test", "\n \$test->redis->set('foo', 'bar');\n \$test->redis->sort('foo');\n ")); }
function testSort() { $unorderedList = RC::pushTailAndReturn($this->redis, 'unordered', array(2, 100, 3, 1, 30, 10)); // without parameters $this->assertEquals(array(1, 2, 3, 10, 30, 100), $this->redis->sort('unordered')); // with parameter ASC/DESC $this->assertEquals(array(100, 30, 10, 3, 2, 1), $this->redis->sort('unordered', array('sort' => 'desc'))); // with parameter LIMIT $this->assertEquals(array(1, 2, 3), $this->redis->sort('unordered', array('limit' => array(0, 3)))); $this->assertEquals(array(10, 30), $this->redis->sort('unordered', array('limit' => array(3, 2)))); // with parameter ALPHA $this->assertEquals(array(1, 10, 100, 2, 3, 30), $this->redis->sort('unordered', array('alpha' => true))); // with combined parameters $this->assertEquals(array(30, 10, 3, 2), $this->redis->sort('unordered', array('alpha' => false, 'sort' => 'desc', 'limit' => array(1, 4)))); // with parameter ALPHA $this->assertEquals(array(1, 10, 100, 2, 3, 30), $this->redis->sort('unordered', array('alpha' => true))); // with parameter STORE $this->assertEquals(count($unorderedList), $this->redis->sort('unordered', array('store' => 'ordered'))); $this->assertEquals(array(1, 2, 3, 10, 30, 100), $this->redis->listRange('ordered', 0, -1)); // wront type RC::testForServerException($this, RC::EXCEPTION_WRONG_TYPE, function ($test) { $test->redis->set('foo', 'bar'); $test->redis->sort('foo'); }); }