+ #
+ it "should be able to do set union" do
+ @r.set_add "set", 'key1'
+ @r.set_add "set", 'key2'
+ @r.set_add "set2", 'key2'
+ @r.set_add "set2", 'key3'
+ @r.set_union('set', 'set2').should == Set.new(['key1','key2','key3'])
+ @r.delete('set')
+ end
+ #
+ it "should be able to do set union and store the results in a key" do
+ @r.set_add "set", 'key1'
+ @r.set_add "set", 'key2'
+ @r.set_add "set2", 'key2'
+ @r.set_add "set2", 'key3'
+ @r.set_union_store('newone', 'set', 'set2').should == 'OK'
+ @r.set_members('newone').should == Set.new(['key1','key2','key3'])
+ @r.delete('set')
+ end
+
+ # these don't seem to be implemented in redis head?
+ # it "should be able to do set difference" do
+ # @r.set_add "set", 'key1'
+ # @r.set_add "set", 'key2'
+ # @r.set_add "set2", 'key2'
+ # @r.set_add "set2", 'key3'
+ # @r.set_diff('set', 'set2').should == Set.new(['key1','key3'])
+ # @r.delete('set')
+ # end
+ # #
+ # it "should be able to do set difference and store the results in a key" do
+ # @r.set_add "set", 'key1'
+ # @r.set_add "set", 'key2'
+ # @r.set_add "set2", 'key2'
+ # @r.set_add "set2", 'key3'
+ # count = @r.set_diff_store('newone', 'set', 'set2')
+ # count.should == 3
+ # @r.set_members('newone').should == Set.new(['key1','key3'])
+ # @r.delete('set')
+ # end