SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [43/72]

SpicesTest::TEST_F ( span_list_test ,
PushFrontPopFront  )

Testing scl::span_list::PushFront/PopFront.

Definition at line 97 of file SpanList_test.h.

97 {
98
100
101 scl::span s0;
102 scl::span s1;
103 scl::span s2;
104
105 {
106 m_SpanList.PushFront(&s0);
107 EXPECT_EQ(s0.m_Prev, m_SpanList.End());
108 EXPECT_EQ(s0.m_Next, m_SpanList.End());
109
110 m_SpanList.PushFront(&s1);
111 EXPECT_EQ(s1.m_Prev, m_SpanList.End());
112 EXPECT_EQ(s1.m_Next, &s0);
113 EXPECT_EQ(s0.m_Prev, &s1);
114
115 m_SpanList.PushFront(&s2);
116 EXPECT_EQ(s2.m_Prev, m_SpanList.End());
117 EXPECT_EQ(s2.m_Next, &s1);
118 EXPECT_EQ(s1.m_Prev, &s2);
119 }
120
121 {
122 scl::span* ps2 = m_SpanList.PopFront();
123 EXPECT_EQ(ps2->m_Prev, nullptr);
124 EXPECT_EQ(ps2->m_Next, nullptr);
125 EXPECT_EQ(ps2, &s2);
126 EXPECT_EQ(m_SpanList.Begin(), &s1);
127
128 scl::span* ps1 = m_SpanList.PopFront();
129 EXPECT_EQ(ps1->m_Prev, nullptr);
130 EXPECT_EQ(ps1->m_Next, nullptr);
131 EXPECT_EQ(ps1, &s1);
132 EXPECT_EQ(m_SpanList.Begin(), &s0);
133
134 scl::span* ps0 = m_SpanList.PopFront();
135 EXPECT_EQ(ps0->m_Prev, nullptr);
136 EXPECT_EQ(ps0->m_Next, nullptr);
137 EXPECT_EQ(ps0, &s0);
138 EXPECT_EQ(m_SpanList.Empty(), true);
139 }
140 }
#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.