blob: 53dc3bb6d8b4e72a4a712dccb09678b220c54fa4 [file] [log] [blame]
Parker Schuh6691f192017-01-14 17:01:02 -08001#include "aos/vision/blob/codec.h"
2
3#include <algorithm>
4#include "gtest/gtest.h"
5
6namespace aos {
7namespace vision {
8
9TEST(CodecTest, WriteRead) {
10 BlobList blobl;
11 {
12 std::vector<std::vector<ImageRange>> ranges;
13 ranges.emplace_back(std::vector<ImageRange>{{10, 11}});
14 ranges.emplace_back(std::vector<ImageRange>{{15, 17}});
15 ranges.emplace_back(std::vector<ImageRange>{{19, 30}});
16 blobl.emplace_back(RangeImage(10, std::move(ranges)));
17 }
18
19 {
20 std::vector<std::vector<ImageRange>> ranges;
21 ranges.emplace_back(std::vector<ImageRange>{{18, 19}});
22 ranges.emplace_back(std::vector<ImageRange>{{12, 13}});
23 ranges.emplace_back(std::vector<ImageRange>{{12, 17}});
24 blobl.emplace_back(RangeImage(13, std::move(ranges)));
25 }
26
27 std::string out;
28 SerializeBlobTo(blobl, &out);
29 BlobList blobl2;
30 size_t real_len = ParseBlobList(&blobl2, out.data()) - out.data();
31 EXPECT_EQ(ShortDebugPrint(blobl), ShortDebugPrint(blobl2));
32
33 EXPECT_EQ(real_len, CalculateSize(blobl));
34}
35
36} // namespace vision
37} // namespace aos