require_relative 'helper' require_relative 'lint/sets' class TestDistributedCommandsOnSets < Test::Unit::TestCase include Helper::Distributed include Lint::Sets def test_smove assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'bar', 's2' r.smove('foo', 'bar', 's1') end end def test_sinter assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sinter('foo', 'bar') end end def test_sinterstore assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sinterstore('baz', 'foo', 'bar') end end def test_sunion assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sadd 'bar', 's3' r.sunion('foo', 'bar') end end def test_sunionstore assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sadd 'bar', 's3' r.sunionstore('baz', 'foo', 'bar') end end def test_sdiff assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sadd 'bar', 's3' r.sdiff('foo', 'bar') end end def test_sdiffstore assert_raise Redis::Distributed::CannotDistribute do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sadd 'bar', 's3' r.sdiffstore('baz', 'foo', 'bar') end end def test_sscan assert_nothing_raised do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sadd 'bar', 's3' cursor, vals = r.sscan 'foo', 0 assert_equal '0', cursor assert_equal %w[s1 s2], vals.sort end end def test_sscan_each assert_nothing_raised do r.sadd 'foo', 's1' r.sadd 'foo', 's2' r.sadd 'bar', 's2' r.sadd 'bar', 's3' vals = r.sscan_each('foo').to_a assert_equal %w[s1 s2], vals.sort end end end