/vendor/bundle/jruby/2.1/gems/redis-3.0.7/test/commands_on_sorted_sets_test.rb
https://github.com/delowong/logstash · Ruby · 109 lines · 84 code · 24 blank · 1 comment · 0 complexity · 73ce3b3777969709ce93d5f4af95d297 MD5 · raw file
- # encoding: UTF-8
- require File.expand_path("helper", File.dirname(__FILE__))
- require "lint/sorted_sets"
- class TestCommandsOnSortedSets < Test::Unit::TestCase
- include Helper::Client
- include Lint::SortedSets
- def test_zcount
- r.zadd "foo", 1, "s1"
- r.zadd "foo", 2, "s2"
- r.zadd "foo", 3, "s3"
- assert_equal 2, r.zcount("foo", 2, 3)
- end
- def test_zunionstore
- r.zadd "foo", 1, "s1"
- r.zadd "bar", 2, "s2"
- r.zadd "foo", 3, "s3"
- r.zadd "bar", 4, "s4"
- assert_equal 4, r.zunionstore("foobar", ["foo", "bar"])
- assert_equal ["s1", "s2", "s3", "s4"], r.zrange("foobar", 0, -1)
- end
- def test_zunionstore_with_weights
- r.zadd "foo", 1, "s1"
- r.zadd "foo", 3, "s3"
- r.zadd "bar", 20, "s2"
- r.zadd "bar", 40, "s4"
- assert_equal 4, r.zunionstore("foobar", ["foo", "bar"])
- assert_equal ["s1", "s3", "s2", "s4"], r.zrange("foobar", 0, -1)
- assert_equal 4, r.zunionstore("foobar", ["foo", "bar"], :weights => [10, 1])
- assert_equal ["s1", "s2", "s3", "s4"], r.zrange("foobar", 0, -1)
- end
- def test_zunionstore_with_aggregate
- r.zadd "foo", 1, "s1"
- r.zadd "foo", 2, "s2"
- r.zadd "bar", 4, "s2"
- r.zadd "bar", 3, "s3"
- assert_equal 3, r.zunionstore("foobar", ["foo", "bar"])
- assert_equal ["s1", "s3", "s2"], r.zrange("foobar", 0, -1)
- assert_equal 3, r.zunionstore("foobar", ["foo", "bar"], :aggregate => :min)
- assert_equal ["s1", "s2", "s3"], r.zrange("foobar", 0, -1)
- assert_equal 3, r.zunionstore("foobar", ["foo", "bar"], :aggregate => :max)
- assert_equal ["s1", "s3", "s2"], r.zrange("foobar", 0, -1)
- end
- def test_zinterstore
- r.zadd "foo", 1, "s1"
- r.zadd "bar", 2, "s1"
- r.zadd "foo", 3, "s3"
- r.zadd "bar", 4, "s4"
- assert_equal 1, r.zinterstore("foobar", ["foo", "bar"])
- assert_equal ["s1"], r.zrange("foobar", 0, -1)
- end
- def test_zinterstore_with_weights
- r.zadd "foo", 1, "s1"
- r.zadd "foo", 2, "s2"
- r.zadd "foo", 3, "s3"
- r.zadd "bar", 20, "s2"
- r.zadd "bar", 30, "s3"
- r.zadd "bar", 40, "s4"
- assert_equal 2, r.zinterstore("foobar", ["foo", "bar"])
- assert_equal ["s2", "s3"], r.zrange("foobar", 0, -1)
- assert_equal 2, r.zinterstore("foobar", ["foo", "bar"], :weights => [10, 1])
- assert_equal ["s2", "s3"], r.zrange("foobar", 0, -1)
- assert_equal 40.0, r.zscore("foobar", "s2")
- assert_equal 60.0, r.zscore("foobar", "s3")
- end
- def test_zinterstore_with_aggregate
- r.zadd "foo", 1, "s1"
- r.zadd "foo", 2, "s2"
- r.zadd "foo", 3, "s3"
- r.zadd "bar", 20, "s2"
- r.zadd "bar", 30, "s3"
- r.zadd "bar", 40, "s4"
- assert_equal 2, r.zinterstore("foobar", ["foo", "bar"])
- assert_equal ["s2", "s3"], r.zrange("foobar", 0, -1)
- assert_equal 22.0, r.zscore("foobar", "s2")
- assert_equal 33.0, r.zscore("foobar", "s3")
- assert_equal 2, r.zinterstore("foobar", ["foo", "bar"], :aggregate => :min)
- assert_equal ["s2", "s3"], r.zrange("foobar", 0, -1)
- assert_equal 2.0, r.zscore("foobar", "s2")
- assert_equal 3.0, r.zscore("foobar", "s3")
- assert_equal 2, r.zinterstore("foobar", ["foo", "bar"], :aggregate => :max)
- assert_equal ["s2", "s3"], r.zrange("foobar", 0, -1)
- assert_equal 20.0, r.zscore("foobar", "s2")
- assert_equal 30.0, r.zscore("foobar", "s3")
- end
- end