blob: 889dfbb9c46f783819fc48856d07ca6a9b6852c5 [file] [log] [blame]
Parker Schuh6691f192017-01-14 17:01:02 -08001#include "aos/vision/blob/codec.h"
2
3#include <algorithm>
Austin Schuh60e77942022-05-16 17:48:24 -07004
Parker Schuh6691f192017-01-14 17:01:02 -08005#include "gtest/gtest.h"
6
Stephan Pleinesf63bde82024-01-13 15:59:33 -08007namespace aos::vision {
Parker Schuh6691f192017-01-14 17:01:02 -08008
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
Stephan Pleinesf63bde82024-01-13 15:59:33 -080036} // namespace aos::vision