MCPcopy Create free account
hub / github.com/alibaba/zvec / TEST

Function TEST

tests/ailego/container/vector_array_test.cc:22–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20using namespace zvec;
21
22TEST(NumericalVectorArray, General) {
23 ailego::NumericalVectorArray<float> arr;
24 ailego::NumericalVectorArray<float> &const_arr = arr;
25 EXPECT_TRUE(arr.empty());
26 EXPECT_EQ(0u, arr.dimension());
27 EXPECT_EQ(0u, arr.count());
28 EXPECT_EQ(0u, arr.bytes());
29 EXPECT_NE(nullptr, arr.data());
30 EXPECT_NE(nullptr, const_arr.data());
31 arr.shrink_to_fit();
32 arr.clear();
33 EXPECT_EQ(0u, arr.dimension());
34 EXPECT_EQ(0u, arr.count());
35
36 try {
37 arr.at(0);
38 } catch (const std::out_of_range &oor) {
39 std::cerr << "Out of Range error: " << oor.what() << '\n';
40 }
41 try {
42 const_arr.at(0);
43 } catch (const std::out_of_range &oor) {
44 std::cerr << "Out of Range error: " << oor.what() << '\n';
45 }
46
47 ailego::NumericalVector<float> vec1 = {10.0f, 11.0f, 12.0f, 13.0f, 14.0f,
48 15.0f, 16.0f, 17.0f, 18.0f, 19.0f};
49 ailego::NumericalVector<float> vec2 = {1.0f, 2.0f, 3.0f, 4.0f, 5.0f,
50 6.0f, 7.0f, 8.0f, 9.0f, 0.0f};
51 arr.reset(10);
52 arr.append(vec1);
53 arr.append(vec2);
54 arr.append(vec1);
55 EXPECT_EQ(3u, arr.count());
56 EXPECT_EQ(10u, arr.dimension());
57
58 arr.reserve(10);
59 EXPECT_EQ(vec1, std::string(reinterpret_cast<const char *>(arr.at(0)),
60 arr.dimension() * sizeof(float)));
61 EXPECT_EQ(vec1, std::string(reinterpret_cast<const char *>(arr[2]),
62 arr.dimension() * sizeof(float)));
63 arr.replace(2, vec2);
64 EXPECT_EQ(vec2, std::string(reinterpret_cast<const char *>(const_arr.at(1)),
65 arr.dimension() * sizeof(float)));
66 EXPECT_EQ(vec2, std::string(reinterpret_cast<const char *>(const_arr[2]),
67 arr.dimension() * sizeof(float)));
68
69 arr.clear();
70 EXPECT_EQ(10u, arr.dimension());
71 EXPECT_EQ(0u, arr.count());
72
73 arr.reset(2);
74 arr.append(vec1.data(), 2, 5);
75 arr.append(vec2.data(), 2, 5);
76 EXPECT_EQ(2u, arr.dimension());
77 EXPECT_EQ(10u, arr.count());
78
79 ailego::NumericalVectorArray<float> arr1 = std::move(arr);

Callers

nothing calls this directly

Calls 15

emptyMethod · 0.45
dimensionMethod · 0.45
countMethod · 0.45
bytesMethod · 0.45
dataMethod · 0.45
shrink_to_fitMethod · 0.45
clearMethod · 0.45
atMethod · 0.45
whatMethod · 0.45
resetMethod · 0.45
appendMethod · 0.45
reserveMethod · 0.45

Tested by

no test coverage detected