Sha256: 20f3238956d83a39802b1bd5fa63bd2c95ec0d97455aeb7d62489ee93bf917ac

Contents?: true

Size: 1.46 KB

Versions: 16

Compression:

Stored size: 1.46 KB

Contents

require 'spec_helper'

describe "#zrevrangebyscore(key, start, stop [:with_scores => true] [:limit => [offset count]])" do
  before do
    @key = 'mock-redis-test:zrevrangebyscore'
    @redises.zadd(@key, 1, 'Washington')
    @redises.zadd(@key, 2, 'Adams')
    @redises.zadd(@key, 3, 'Jefferson')
    @redises.zadd(@key, 4, 'Madison')
  end

  it "returns the elements in order by score" do
    @redises.zrevrangebyscore(@key, 4, 3).should == ['Madison', 'Jefferson']
  end

  it "returns the scores when :with_scores is specified" do
    @redises.zrevrangebyscore(@key, 4, 3, :with_scores => true).
      should == [["Madison", 4.0], ["Jefferson", 3.0]]
  end

  it "returns the scores when :withscores is specified" do
    @redises.zrevrangebyscore(@key, 4, 3, :withscores => true).
      should == [["Madison", 4.0], ["Jefferson", 3.0]]
  end

  it "treats +inf as positive infinity" do
    @redises.zrevrangebyscore(@key, "+inf", 3).
      should == %w[Madison Jefferson]
  end

  it "honors the :limit => [offset count] argument" do
    @redises.zrevrangebyscore(@key, 100, -100, :limit => [1, 2]).
      should == ["Jefferson", "Adams"]
  end

  it "raises an error if :limit isn't a 2-tuple" do
    lambda do
      @redises.zrevrangebyscore(@key, 100, -100, :limit => [1, 2, 3])
    end.should raise_error(RuntimeError)

    lambda do
      @redises.zrevrangebyscore(@key, 100, -100, :limit => "1, 2")
    end.should raise_error
  end

  it_should_behave_like "a zset-only command"
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
mock_redis-0.10.0 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.9.0 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.8.2 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.8.1 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.8.0 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.7.0 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.6 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.5 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.4 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.3 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.2 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.1 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.6.0 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.5.5 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.5.4 spec/commands/zrevrangebyscore_spec.rb
mock_redis-0.5.3 spec/commands/zrevrangebyscore_spec.rb