Branch data Line data Source code
1 : : // ----------------- BEGIN LICENSE BLOCK ---------------------------------
2 : : //
3 : : // Copyright (C) 2018-2021 Intel Corporation
4 : : //
5 : : // SPDX-License-Identifier: MIT
6 : : //
7 : : // ----------------- END LICENSE BLOCK -----------------------------------
8 : :
9 : : #include <ad/map/access/Factory.hpp>
10 : : #include <ad/map/access/Operation.hpp>
11 : : #include <ad/map/lane/LaneOperation.hpp>
12 : : #include <ad/map/point/Operation.hpp>
13 : : #include <ad/map/serialize/SerializerFileCRC32.hpp>
14 : : #include <gtest/gtest.h>
15 : : #include "../src/access/GeometryStore.hpp"
16 : :
17 : : using namespace ::ad;
18 : : using namespace ::ad::map;
19 : : using namespace ::ad::map::point;
20 : : using namespace ::ad::map::lane;
21 : :
22 : : struct GeometryStoreTest : ::testing::Test
23 : : {
24 : 2 : GeometryStoreTest()
25 : 2 : {
26 : 2 : }
27 : :
28 : 2 : virtual void SetUp()
29 : : {
30 : 2 : }
31 : 2 : virtual void TearDown()
32 : : {
33 : 2 : access::cleanup();
34 : 2 : }
35 : : };
36 : :
37 : 2 : TEST_F(GeometryStoreTest, GeometryStore)
38 : : {
39 [ + - + - : 1 : ASSERT_TRUE(access::init("test_files/Town01.txt"));
- + - - -
- - - -
- ]
40 [ + - ]: 1 : access::GeometryStore geoStore;
41 [ + - + - : 3 : EXPECT_THROW(geoStore.store(NULL), std::runtime_error);
+ - - + -
+ - - - -
- - - - ]
42 [ + - + - : 3 : EXPECT_THROW(geoStore.restore(NULL), std::runtime_error);
+ - - + -
+ - - - -
- - - - ]
43 [ + - + - : 3 : EXPECT_THROW(geoStore.check(NULL), std::runtime_error);
+ - - + -
+ - - - -
- - - - ]
44 : :
45 [ + - ]: 1 : auto lanes = lane::getLanes();
46 [ + - - + : 1 : ASSERT_GT(lanes.size(), 0u);
- - - - -
- ]
47 : :
48 [ + - ]: 1 : auto lanePtr = lane::getLanePtr(lanes[0]);
49 [ + - - + : 1 : ASSERT_TRUE(geoStore.store(lanePtr));
- - - - -
- - - ]
50 [ + - - + : 1 : ASSERT_TRUE(geoStore.check(lanePtr));
- - - - -
- - - ]
51 : :
52 : 0 : lane::Lane::Ptr oneLane;
53 [ + - + - ]: 1 : oneLane.reset(new lane::Lane());
54 : 1 : oneLane->id = lanes[0];
55 [ + - - + : 1 : ASSERT_TRUE(geoStore.restore(oneLane));
- - - - -
- - - ]
56 [ + - - + : 1 : ASSERT_EQ(oneLane->edgeLeft.ecefEdge, lanePtr->edgeLeft.ecefEdge);
- - - - -
- ]
57 [ + - - + : 1 : ASSERT_EQ(oneLane->edgeRight.ecefEdge, lanePtr->edgeRight.ecefEdge);
- - - - -
- ]
58 : : }
59 : :
60 : 2 : TEST_F(GeometryStoreTest, StoreSerialization)
61 : : {
62 [ + - + - : 1 : ASSERT_TRUE(access::init("test_files/Town01.txt"));
- + - - -
- - - -
- ]
63 [ + - ]: 1 : access::Store &store = access::getStore();
64 : 1 : size_t versionMajor = ::ad::map::serialize::SerializerFileCRC32::VERSION_MAJOR;
65 : 1 : size_t versionMinor = ::ad::map::serialize::SerializerFileCRC32::VERSION_MINOR;
66 : :
67 [ + - ]: 1 : serialize::SerializerFileCRC32 serializer_w(true);
68 [ + - + - : 1 : ASSERT_TRUE(serializer_w.open("test_files/test_StoreSerialization.adm", versionMajor, versionMinor));
- + - - -
- - - -
- ]
69 [ + - - + : 1 : ASSERT_TRUE(store.save(serializer_w, false, false, true));
- - - - -
- - - ]
70 [ + - - + : 1 : ASSERT_TRUE(serializer_w.close());
- - - - -
- - - ]
71 : :
72 [ + - ]: 1 : serialize::SerializerFileCRC32 serializer_r(false);
73 [ + - - + : 1 : ASSERT_EQ(serializer_r.getStorageType(), "File");
- - - - -
- ]
74 [ + - - + : 1 : ASSERT_EQ(serializer_r.getChecksumType(), "CRC-32");
- - - - -
- ]
75 [ + - + - : 1 : ASSERT_TRUE(serializer_r.open("test_files/test_StoreSerialization.adm", versionMajor, versionMinor));
- + - - -
- - - -
- ]
76 : 0 : access::Store::Ptr storeRead;
77 [ + - + - : 1 : storeRead.reset(new access::Store());
+ - ]
78 [ + - - + : 1 : ASSERT_TRUE(storeRead->load(serializer_r));
- - - - -
- - - ]
79 [ + - - + : 1 : ASSERT_TRUE(serializer_r.close());
- - - - -
- - - ]
80 : :
81 [ + - ]: 1 : serialize::SerializerFileCRC32 serializer_w2(true);
82 [ + - + - : 1 : ASSERT_TRUE(serializer_w2.open("test_files/test_StoreSerialization.adm", versionMajor, versionMinor));
- + - - -
- - - -
- ]
83 [ + - - + : 1 : ASSERT_TRUE(store.save(serializer_w2, false, true, true));
- - - - -
- - - ]
84 [ + - - + : 1 : ASSERT_TRUE(serializer_w2.close());
- - - - -
- - - ]
85 : :
86 [ + - ]: 1 : serialize::SerializerFileCRC32 serializer_r2(false);
87 [ + - + - : 1 : ASSERT_TRUE(serializer_r2.open("test_files/test_StoreSerialization.adm", versionMajor, versionMinor));
- + - - -
- - - -
- ]
88 : 0 : access::Store::Ptr storeRead2;
89 [ + - + - : 1 : storeRead2.reset(new access::Store());
+ - ]
90 [ + - - + : 1 : ASSERT_TRUE(storeRead2->load(serializer_r2));
- - - - -
- - - ]
91 [ + - - + : 1 : ASSERT_TRUE(serializer_r2.close());
- - - - -
- - - ]
92 : : }
|