public void BitOpTest()
        {
            using (var mock = new FakeRedisSocket(":10\r\n", ":10\r\n", ":10\r\n", ":10\r\n"))
                using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999)))
                {
                    Assert.Equal(10, redis.BitOp(RedisBitOp.And, "dest", "key1", "key2"));
                    Assert.Equal("*5\r\n$5\r\nBITOP\r\n$3\r\nAND\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage());

                    Assert.Equal(10, redis.BitOp(RedisBitOp.Or, "dest", "key1", "key2"));
                    Assert.Equal("*5\r\n$5\r\nBITOP\r\n$2\r\nOR\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage());

                    Assert.Equal(10, redis.BitOp(RedisBitOp.XOr, "dest", "key1", "key2"));
                    Assert.Equal("*5\r\n$5\r\nBITOP\r\n$3\r\nXOR\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage());

                    Assert.Equal(10, redis.BitOp(RedisBitOp.Not, "dest", "key1", "key2"));
                    Assert.Equal("*5\r\n$5\r\nBITOP\r\n$3\r\nNOT\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage());
                }
        }