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, Null) { RedisValue nul = RedisNull(); StringWriter writer(1024); WriteRedisValue(&writer, nul); writer.flush(); EXPECT_STREQ("$-1\r\n", writer.result.c_str()); }
RedisValue Get::exec(RedisValue& arg) { try { return RedisBulkString( storage_->at(boost::get<RedisBulkString>(boost::get<std::vector<RedisValue>>(arg)[1]).data)); } catch (std::out_of_range& e) { std::cout << "Can't find element\n"; return RedisNull(); } }
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()); }