spec/redis_spec.rb in redis-0.1 vs spec/redis_spec.rb in redis-0.1.1

- old
+ new

@@ -273,10 +273,26 @@ @r.type('list').should == "list" @r.llen('list').should == 2 @r.lrem('list', 1, 'hello').should == 1 @r.lrange('list', 0, -1).should == ['goodbye'] end + + it "should be able to pop values from a list and push them onto a temp list(RPOPLPUSH)" do + @r.rpush "list", 'one' + @r.rpush "list", 'two' + @r.rpush "list", 'three' + @r.type('list').should == "list" + @r.llen('list').should == 3 + @r.lrange('list',0,-1).should == ['one', 'two', 'three'] + @r.lrange('tmp',0,-1).should == [] + @r.rpoplpush('list', 'tmp').should == 'three' + @r.lrange('tmp',0,-1).should == ['three'] + @r.rpoplpush('list', 'tmp').should == 'two' + @r.lrange('tmp',0,-1).should == ['two', 'three'] + @r.rpoplpush('list', 'tmp').should == 'one' + @r.lrange('tmp',0,-1).should == ['one','two','three'] + end # it "should be able add members to a set (SADD)" do @r.sadd "set", 'key1' @r.sadd "set", 'key2' @r.type('set').should == "set" @@ -413,9 +429,106 @@ @r.rpush 'dogs', 4 @r.sort('dogs', :get => ['dog:*:name', 'dog:*:breed'], :limit => [0,1]).should == ['louie', 'mutt'] @r.sort('dogs', :get => ['dog:*:name', 'dog:*:breed'], :limit => [0,1], :order => 'desc alpha').should == ['taj', 'terrier'] end # + it "should be able count the members of a zset" do + @r.set_add "set", 'key1' + @r.set_add "set", 'key2' + @r.zset_add 'zset', 1, 'set' + @r.zset_count('zset').should == 1 + @r.delete('set') + @r.delete('zset') + end + # + it "should be able add members to a zset" do + @r.set_add "set", 'key1' + @r.set_add "set", 'key2' + @r.zset_add 'zset', 1, 'set' + @r.zset_range('zset', 0, 1).should == ['set'] + @r.zset_count('zset').should == 1 + @r.delete('set') + @r.delete('zset') + end + # + it "should be able delete members to a zset" do + @r.set_add "set", 'key1' + @r.set_add "set", 'key2' + @r.type?('set').should == "set" + @r.set_add "set2", 'key3' + @r.set_add "set2", 'key4' + @r.type?('set2').should == "set" + @r.zset_add 'zset', 1, 'set' + @r.zset_count('zset').should == 1 + @r.zset_add 'zset', 2, 'set2' + @r.zset_count('zset').should == 2 + @r.zset_delete 'zset', 'set' + @r.zset_count('zset').should == 1 + @r.delete('set') + @r.delete('set2') + @r.delete('zset') + end + # + it "should be able to get a range of values from a zset" do + @r.set_add "set", 'key1' + @r.set_add "set", 'key2' + @r.set_add "set2", 'key3' + @r.set_add "set2", 'key4' + @r.set_add "set3", 'key1' + @r.type?('set').should == 'set' + @r.type?('set2').should == 'set' + @r.type?('set3').should == 'set' + @r.zset_add 'zset', 1, 'set' + @r.zset_add 'zset', 2, 'set2' + @r.zset_add 'zset', 3, 'set3' + @r.zset_count('zset').should == 3 + @r.zset_range('zset', 0, 3).should == ['set', 'set2', 'set3'] + @r.delete('set') + @r.delete('set2') + @r.delete('set3') + @r.delete('zset') + end + # + it "should be able to get a reverse range of values from a zset" do + @r.set_add "set", 'key1' + @r.set_add "set", 'key2' + @r.set_add "set2", 'key3' + @r.set_add "set2", 'key4' + @r.set_add "set3", 'key1' + @r.type?('set').should == 'set' + @r.type?('set2').should == 'set' + @r.type?('set3').should == 'set' + @r.zset_add 'zset', 1, 'set' + @r.zset_add 'zset', 2, 'set2' + @r.zset_add 'zset', 3, 'set3' + @r.zset_count('zset').should == 3 + @r.zset_reverse_range('zset', 0, 3).should == ['set3', 'set2', 'set'] + @r.delete('set') + @r.delete('set2') + @r.delete('set3') + @r.delete('zset') + end + # + it "should be able to get a range by score of values from a zset" do + @r.set_add "set", 'key1' + @r.set_add "set", 'key2' + @r.set_add "set2", 'key3' + @r.set_add "set2", 'key4' + @r.set_add "set3", 'key1' + @r.set_add "set4", 'key4' + @r.zset_add 'zset', 1, 'set' + @r.zset_add 'zset', 2, 'set2' + @r.zset_add 'zset', 3, 'set3' + @r.zset_add 'zset', 4, 'set4' + @r.zset_count('zset').should == 4 + @r.zset_range_by_score('zset', 2, 3).should == ['set2', 'set3'] + @r.delete('set') + @r.delete('set2') + @r.delete('set3') + @r.delete('set4') + @r.delete('zset') + end + it "should provide info (INFO)" do [:last_save_time, :redis_version, :total_connections_received, :connected_clients, :total_commands_processed, :connected_slaves, :uptime_in_seconds, :used_memory, :uptime_in_days, :changes_since_last_save].each do |x| @r.info.keys.should include(x) end end