/vendor/bundle/jruby/2.1/gems/redis-3.0.7/test/commands_on_sets_test.rb

https://github.com/delowong/logstash · Ruby · 77 lines · 56 code · 20 blank · 1 comment · 0 complexity · a976df3efe6d7ee420e6a2c5e76b328c MD5 · raw file

  1. # encoding: UTF-8
  2. require File.expand_path("helper", File.dirname(__FILE__))
  3. require "lint/sets"
  4. class TestCommandsOnSets < Test::Unit::TestCase
  5. include Helper::Client
  6. include Lint::Sets
  7. def test_smove
  8. r.sadd "foo", "s1"
  9. r.sadd "bar", "s2"
  10. assert r.smove("foo", "bar", "s1")
  11. assert r.sismember("bar", "s1")
  12. end
  13. def test_sinter
  14. r.sadd "foo", "s1"
  15. r.sadd "foo", "s2"
  16. r.sadd "bar", "s2"
  17. assert_equal ["s2"], r.sinter("foo", "bar")
  18. end
  19. def test_sinterstore
  20. r.sadd "foo", "s1"
  21. r.sadd "foo", "s2"
  22. r.sadd "bar", "s2"
  23. r.sinterstore("baz", "foo", "bar")
  24. assert_equal ["s2"], r.smembers("baz")
  25. end
  26. def test_sunion
  27. r.sadd "foo", "s1"
  28. r.sadd "foo", "s2"
  29. r.sadd "bar", "s2"
  30. r.sadd "bar", "s3"
  31. assert_equal ["s1", "s2", "s3"], r.sunion("foo", "bar").sort
  32. end
  33. def test_sunionstore
  34. r.sadd "foo", "s1"
  35. r.sadd "foo", "s2"
  36. r.sadd "bar", "s2"
  37. r.sadd "bar", "s3"
  38. r.sunionstore("baz", "foo", "bar")
  39. assert_equal ["s1", "s2", "s3"], r.smembers("baz").sort
  40. end
  41. def test_sdiff
  42. r.sadd "foo", "s1"
  43. r.sadd "foo", "s2"
  44. r.sadd "bar", "s2"
  45. r.sadd "bar", "s3"
  46. assert_equal ["s1"], r.sdiff("foo", "bar")
  47. assert_equal ["s3"], r.sdiff("bar", "foo")
  48. end
  49. def test_sdiffstore
  50. r.sadd "foo", "s1"
  51. r.sadd "foo", "s2"
  52. r.sadd "bar", "s2"
  53. r.sadd "bar", "s3"
  54. r.sdiffstore("baz", "foo", "bar")
  55. assert_equal ["s1"], r.smembers("baz")
  56. end
  57. end