MCPcopy Create free account
hub / github.com/defold/defold / TEST

Function TEST

engine/dlib/src/test/test_array.cpp:25–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23const uint32_t array_size_test_offset = 7;
24
25TEST(dmArray, Dynamic_int32)
26{
27 assert(array_size > array_size_test_offset);
28
29 dmArray<uint32_t> ar;
30 ar.SetCapacity(array_size);
31 for(uint32_t i = 0; i < array_size; i++)
32 ar.Push(i);
33
34 ar.EraseSwap(array_size-array_size_test_offset);
35 EXPECT_EQ(array_size-1, ar[array_size-array_size_test_offset]);
36
37 EXPECT_EQ(array_size-1, ar.Size());
38 EXPECT_EQ(array_size, ar.Capacity());
39
40 ar.SetCapacity(array_size-1);
41 EXPECT_EQ(array_size-1, ar.Size());
42 EXPECT_EQ(array_size-1, ar.Capacity());
43
44 ar.Pop();
45 EXPECT_EQ(array_size-3, ar[ ar.Size()-1]);
46 EXPECT_EQ(array_size-2, ar.Size());
47 EXPECT_FALSE(ar.Full());
48 EXPECT_EQ((uint32_t) 1, ar.Remaining());
49
50 ar.OffsetCapacity(1);
51 EXPECT_EQ(array_size, ar.Capacity());
52 ar.OffsetCapacity(-1);
53 EXPECT_EQ(array_size-1, ar.Capacity());
54 EXPECT_EQ(array_size-1, ar[array_size-array_size_test_offset]);
55
56 ar.SetSize(array_size/2);
57 EXPECT_EQ(array_size/2, ar.Size());
58 ar.SetCapacity(array_size);
59 EXPECT_EQ(array_size, ar.Capacity());
60 EXPECT_EQ((array_size/2)-1, ar[(array_size/2)-1]);
61
62 const uint32_t const_ref_front = ar[0];
63 EXPECT_EQ((uint32_t) 0, const_ref_front);
64 const uint32_t const_ref_back = ar[ar.Size()-1];
65 EXPECT_EQ((array_size/2)-1, const_ref_back);
66
67 uint32_t ref_front = ar[0];
68 EXPECT_EQ((uint32_t) 0, ref_front);
69 uint32_t ref_back = ar[ar.Size()-1];
70 EXPECT_EQ((array_size/2)-1, ref_back);
71
72 EXPECT_EQ((uint32_t) 0, ar.Front());
73 EXPECT_EQ((array_size/2)-1, ar.Back());
74 EXPECT_EQ(const_ref_front, ar.Front());
75 EXPECT_EQ(const_ref_back, ar.Back());
76
77 uint32_t &ref_adr = ar[0];
78 ar.EraseSwapRef(ref_adr);
79 EXPECT_EQ((array_size/2)-1, ar[0]);
80
81 ar.SetCapacity(0);
82 EXPECT_EQ((uint32_t) 0, ar.Size());

Callers

nothing calls this directly

Calls 15

randClass · 0.85
PushArrayMethod · 0.80
MapMethod · 0.80
assertFunction · 0.50
SetCapacityMethod · 0.45
PushMethod · 0.45
SizeMethod · 0.45
CapacityMethod · 0.45
PopMethod · 0.45
FullMethod · 0.45
RemainingMethod · 0.45
OffsetCapacityMethod · 0.45

Tested by

no test coverage detected