TEST(WriteRedisValue, Int) { RedisValue i = 10, j = -5; StringWriter writer(1024); WriteRedisValue(&writer, i); writer.flush(); EXPECT_STREQ(":10\r\n", writer.result.c_str()); writer.result.clear(); WriteRedisValue(&writer, j); writer.flush(); EXPECT_STREQ(":-5\r\n", writer.result.c_str()); writer.result.clear(); }
TEST(WriteRedisValue, String) { RedisValue str1 = "abcda", str2 = "1234"; StringWriter writer(1024); WriteRedisValue(&writer, str1); writer.flush(); EXPECT_STREQ("+abcda\r\n", writer.result.c_str()); writer.result.clear(); WriteRedisValue(&writer, str2); writer.flush(); EXPECT_STREQ("+1234\r\n", writer.result.c_str()); }
TEST(WriteRedisValue, Null) { RedisValue nul = RedisNull(); StringWriter writer(1024); WriteRedisValue(&writer, nul); writer.flush(); EXPECT_STREQ("$-1\r\n", writer.result.c_str()); }
TEST(WriteRedisValue, BulkString) { RedisValue bulk = RedisBulkString("a\nbcd"); StringWriter writer(1024); WriteRedisValue(&writer, bulk); writer.flush(); EXPECT_STREQ("$5\r\na\nbcd\r\n", writer.result.c_str()); }
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(WriteRedisValue, String) { RedisValue string = "abcd"; StringWriter writer(1024); WriteRedisValue(&writer, string); writer.flush(); EXPECT_STREQ("+abcd\r\n", writer.result.c_str()); writer.result.clear(); }
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(); }
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()); }