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, 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()); }
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(); } }