return int64(1), nil
			})

			err := commander.SetAdd("my key", elements...)

			Expect(err).To(BeNil())
			Expect(saddCalled).To(BeTrue())
		})
	})

	Describe("#GetMembersOfSet", func() {
		It("calls SMEMBERS on the redis connection and returns a list of strings", func() {
			var getMembersCalled bool
			fakeConnection.RespondToDo(func(command string, args ...interface{}) (interface{}, error) {
				getMembersCalled = true
				Expect(command).To(Equal("SMEMBERS"))
				Expect(args[0]).To(HaveLen(1))
				Expect(args[0].([]interface{})[0]).To(Equal("my key"))

				return []interface{}{[]byte("[one two]")}, nil
			})

			val, err := commander.GetMembersOfSet("my key")
			Expect(err).To(BeNil())
			Expect(getMembersCalled).To(BeTrue())
			Expect(val).To(Equal([]string{"one", "two"}))
		})
	})
})