| 30 | }; |
| 31 | |
| 32 | TEST_F(FlatArrayTest, Decode) { |
| 33 | std::string buffer; |
| 34 | FlatArrayCodec codec(&buffer, 5); |
| 35 | bool ok = codec.Append(1.2f); |
| 36 | ASSERT_TRUE(ok); |
| 37 | std::string big_col1(100, 'a'); |
| 38 | ok = codec.Append(big_col1); |
| 39 | ASSERT_TRUE(ok); |
| 40 | std::string big_col2(127, 'b'); |
| 41 | ok = codec.Append(big_col2); |
| 42 | ASSERT_TRUE(ok); |
| 43 | std::string big_col3(128, 'c'); |
| 44 | ok = codec.Append(big_col3); |
| 45 | ASSERT_TRUE(ok); |
| 46 | std::string big_col4(32767, 'e'); |
| 47 | ok = codec.Append(big_col4); |
| 48 | ASSERT_TRUE(ok); |
| 49 | codec.Build(); |
| 50 | |
| 51 | FlatArrayIterator it(buffer.c_str(), buffer.size(), 5); |
| 52 | float value = 0; |
| 53 | ok = it.GetFloat(&value); |
| 54 | ASSERT_TRUE(ok); |
| 55 | ASSERT_EQ(1.2f, value); |
| 56 | std::string value2; |
| 57 | it.Next(); |
| 58 | ASSERT_TRUE(it.Valid()); |
| 59 | ok = it.GetString(&value2); |
| 60 | ASSERT_TRUE(ok); |
| 61 | ASSERT_EQ(big_col1, value2); |
| 62 | it.Next(); |
| 63 | ASSERT_TRUE(it.Valid()); |
| 64 | value2.clear(); |
| 65 | ok = it.GetString(&value2); |
| 66 | ASSERT_TRUE(ok); |
| 67 | ASSERT_EQ(big_col2, value2); |
| 68 | it.Next(); |
| 69 | ASSERT_TRUE(it.Valid()); |
| 70 | value2.clear(); |
| 71 | ok = it.GetString(&value2); |
| 72 | ASSERT_TRUE(ok); |
| 73 | ASSERT_EQ(big_col3, value2); |
| 74 | it.Next(); |
| 75 | ASSERT_TRUE(it.Valid()); |
| 76 | value2.clear(); |
| 77 | ok = it.GetString(&value2); |
| 78 | ASSERT_TRUE(ok); |
| 79 | ASSERT_EQ(big_col4, value2); |
| 80 | it.Next(); |
| 81 | ASSERT_FALSE(it.Valid()); |
| 82 | } |
| 83 | |
| 84 | TEST_F(FlatArrayTest, Encode) { |
| 85 | std::string buffer; |
nothing calls this directly
no test coverage detected