MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / ArrayTest

Method ArrayTest

Tests/Libraries/Containers/ArrayTest.cpp:20–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18struct SC::ArrayTest : public SC::TestCase
19{
20 ArrayTest(SC::TestReport& report) : TestCase(report, "ArrayTest")
21 {
22 using namespace SC;
23
24 const StringView testString("Ciao");
25 if (test_section("basic"))
26 {
27 Array<String, 2> strings;
28 SC_TEST_EXPECT(strings.resize(2, "ASDF"));
29 SC_TEST_EXPECT(strings[0] == "ASDF");
30 SC_TEST_EXPECT(strings[1] == "ASDF");
31 strings.front() = "ASDF1";
32 strings.back() = "ASDF2";
33 Array<String, 1> strings1;
34 SC_TEST_EXPECT(not strings1.assignMove(move(strings)));
35
36 Array<String, 4> strings2 = strings;
37 // TODO: We must disable heap allocation for Array<T, N>
38 strings.clear();
39 SC_TEST_EXPECT(strings.isEmpty());
40 SC_TEST_EXPECT(strings2[0] == "ASDF1");
41 SC_TEST_EXPECT(strings2[1] == "ASDF2");
42 Array<String, 4> strings3;
43 SC_TEST_EXPECT(strings3.append({"1234", "5678"}));
44 SC_TEST_EXPECT(strings3.size() == 2);
45 SC_TEST_EXPECT(strings3.capacity() == 4);
46 SC_TEST_EXPECT(strings3[0] == "1234");
47 SC_TEST_EXPECT(strings3[1] == "5678");
48 SC_TEST_EXPECT(strings3.append({"yeah", "ohyeah"}));
49 SC_TEST_EXPECT(strings3.size() == 4);
50 SC_TEST_EXPECT(strings3.capacity() == 4);
51 SC_TEST_EXPECT(strings3[0] == "1234");
52 SC_TEST_EXPECT(strings3[1] == "5678");
53 SC_TEST_EXPECT(strings3[2] == "yeah");
54 SC_TEST_EXPECT(strings3[3] == "ohyeah");
55 SC_TEST_EXPECT(strings3.resize(2));
56 SC_TEST_EXPECT(strings3.size() == 2);
57 SC_TEST_EXPECT(strings3.capacity() == 4);
58 SC_TEST_EXPECT(strings3[0] == "1234");
59 SC_TEST_EXPECT(strings3[1] == "5678");
60 // SC_TEST_EXPECT(strings3.shrink_to_fit());
61 SC_TEST_EXPECT(strings3.size() == 2);
62 SC_TEST_EXPECT(strings3.capacity() == 4);
63 SC_TEST_EXPECT(strings3[0] == "1234");
64 SC_TEST_EXPECT(strings3[1] == "5678");
65
66 strings3 = move(strings2);
67 SC_TEST_EXPECT(strings2.isEmpty());
68 SC_TEST_EXPECT(strings3[0] == "ASDF1");
69 SC_TEST_EXPECT(strings3[1] == "ASDF2");
70
71 SC_TEST_EXPECT(strings3.push_back("ASDF3"));
72 SC_TEST_EXPECT(strings3[2] == "ASDF3");
73 }
74 if (test_section("resize"))
75 {
76 Array<int, 10> arr;
77 SC_TEST_EXPECT(not arr.reserve(11));

Callers

nothing calls this directly

Calls 12

bubbleSortFunction · 0.85
reserveMethod · 0.80
resizeMethod · 0.45
clearMethod · 0.45
isEmptyMethod · 0.45
appendMethod · 0.45
sizeMethod · 0.45
capacityMethod · 0.45
push_backMethod · 0.45
dataMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected