SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [42/72]

SpicesTest::TEST_F ( span_list_test ,
InsertErase  )

Testing scl::span_list::Insert/Erase.

Definition at line 50 of file SpanList_test.h.

50 {
51
53
54 scl::span s0;
55 scl::span s1;
56 scl::span s2;
57
58 {
59 m_SpanList.Insert(m_SpanList.Begin(), &s0);
60 EXPECT_EQ(s0.m_Prev, m_SpanList.End());
61 EXPECT_EQ(s0.m_Next, m_SpanList.End());
62
63 m_SpanList.Insert(&s0, &s1);
64 EXPECT_EQ(s1.m_Prev, m_SpanList.End());
65 EXPECT_EQ(s1.m_Next, &s0);
66 EXPECT_EQ(s0.m_Prev, &s1);
67
68 m_SpanList.Insert(&s0, &s2);
69 EXPECT_EQ(s2.m_Prev, &s1);
70 EXPECT_EQ(s2.m_Next, &s0);
71 EXPECT_EQ(s1.m_Next, &s2);
72 EXPECT_EQ(s0.m_Prev, &s2);
73 }
74
75 {
76 m_SpanList.Erase(&s2);
77 EXPECT_EQ(s2.m_Prev, nullptr);
78 EXPECT_EQ(s2.m_Next, nullptr);
79 EXPECT_EQ(s1.m_Next, &s0);
80 EXPECT_EQ(s0.m_Prev, &s1);
81
82 m_SpanList.Erase(&s0);
83 EXPECT_EQ(s0.m_Prev, nullptr);
84 EXPECT_EQ(s0.m_Next, nullptr);
85 EXPECT_EQ(s1.m_Next, m_SpanList.End());
86
87 m_SpanList.Erase(&s1);
88 EXPECT_EQ(s1.m_Prev, nullptr);
89 EXPECT_EQ(s1.m_Next, nullptr);
90 EXPECT_EQ(m_SpanList.Empty(), true);
91 }
92 }
#define SPICESTEST_PROFILE_FUNCTION()
span * m_Next
next span.
Definition SpanList.h:41
span * m_Prev
previous span.
Definition SpanList.h:46
Used for manage multiple page memory.
Definition SpanList.h:15

References scl::span::m_Next, and scl::span::m_Prev.