TEST(RedisValue, Construct) { RedisValue integer = 10; RedisValue string = "abcd"; RedisValue error = RedisError("Permission denied"); RedisValue bulk = RedisBulkString("a"); RedisValue null = RedisNull(); RedisValue array = std::vector<RedisValue>{integer, string, error, bulk, null}; }
TEST(WriteRedisValue, Error) { RedisValue err = RedisError("test"); StringWriter writer(1024); WriteRedisValue(&writer, err); writer.flush(); EXPECT_STREQ("-test\r\n", writer.result.c_str()); }
TEST(RedisValue, Construct) { RedisValue integer = 10; RedisValue string = "abcd"; RedisValue error = RedisError("Permission denied"); RedisValue array = std::vector<RedisValue>(3); boost::get<std::vector<RedisValue>>(array)[0] = integer; boost::get<std::vector<RedisValue>>(array)[1] = error; boost::get<std::vector<RedisValue>>(array)[2] = string; }
TEST(WriteRedisValue, Array) { RedisValue integer = -12; RedisValue string = "abcd"; RedisValue error = RedisError("nope"); RedisValue null = RedisNull(); RedisValue array = std::vector<RedisValue>{integer, string, error, null}; StringWriter write(1024); WriteRedisValue(&write, array); write.flush(); EXPECT_STREQ("*4\r\n:-12\r\n+abcd\r\n-nope\r\n$-1\r\n", write.result.c_str()); }
TEST(WriteRedisValue, Array) { RedisValue integer = 10; RedisValue string = "abcd"; RedisValue error = RedisError("error"); RedisValue array = std::vector<RedisValue> {integer, error, string}; StringWriter writer(1024); WriteRedisValue(&writer, array); writer.flush(); EXPECT_STREQ("*3\r\n:10\r\n-error\r\n+abcd\r\n", writer.result.c_str()); writer.result.clear(); RedisValue big_array = std::vector<RedisValue> {array, integer}; WriteRedisValue(&writer, big_array); writer.flush(); EXPECT_STREQ("*2\r\n*3\r\n:10\r\n-error\r\n+abcd\r\n:10\r\n", writer.result.c_str()); writer.result.clear(); }