Lines Matching full:list
8 * notice, this list of conditions and the following disclaimer.
10 * notice, this list of conditions and the following disclaimer in the
88 // This function verifies the content of the linked list matches a given list of entries.
102 VerifyOrQuit(argEntry != nullptr, "List contains more entries than expected"); in VerifyLinkedListContent()
103 VerifyOrQuit(argEntry == &entry, "List does not contain the same entry"); in VerifyLinkedListContent()
109 VerifyOrQuit(prev == argPrev, "List::Find() returned prev entry is incorrect"); in VerifyLinkedListContent()
112 VerifyOrQuit(prev == argPrev, "List::FindMatching() returned prev entry is incorrect"); in VerifyLinkedListContent()
115 VerifyOrQuit(prev == argPrev, "List::FindMatching() returned prev entry is incorrect"); in VerifyLinkedListContent()
123 VerifyOrQuit(argEntry == nullptr, "List contains less entries than expected"); in VerifyLinkedListContent()
139 LinkedList<Entry> list; in TestLinkedList() local
144 VerifyOrQuit(list.IsEmpty(), "failed after init"); in TestLinkedList()
145 VerifyOrQuit(list.GetHead() == nullptr, "failed after init"); in TestLinkedList()
146 VerifyOrQuit(list.Pop() == nullptr, "failed when empty"); in TestLinkedList()
147 VerifyOrQuit(list.Find(a, prev) == kErrorNotFound, "succeeded when empty"); in TestLinkedList()
149 VerifyLinkedListContent(&list, nullptr); in TestLinkedList()
151 list.Push(a); in TestLinkedList()
152 VerifyOrQuit(!list.IsEmpty()); in TestLinkedList()
153 VerifyLinkedListContent(&list, &a, nullptr); in TestLinkedList()
154 VerifyOrQuit(list.Find(b, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
156 SuccessOrQuit(list.Add(b)); in TestLinkedList()
157 VerifyLinkedListContent(&list, &b, &a, nullptr); in TestLinkedList()
158 VerifyOrQuit(list.Find(c, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
160 list.Push(c); in TestLinkedList()
161 VerifyLinkedListContent(&list, &c, &b, &a, nullptr); in TestLinkedList()
163 SuccessOrQuit(list.Add(d)); in TestLinkedList()
164 VerifyLinkedListContent(&list, &d, &c, &b, &a, nullptr); in TestLinkedList()
166 SuccessOrQuit(list.Add(e)); in TestLinkedList()
167 VerifyLinkedListContent(&list, &e, &d, &c, &b, &a, nullptr); in TestLinkedList()
169 VerifyOrQuit(list.Add(a) == kErrorAlready, "did not detect duplicate"); in TestLinkedList()
170 VerifyOrQuit(list.Add(b) == kErrorAlready, "did not detect duplicate"); in TestLinkedList()
171 VerifyOrQuit(list.Add(d) == kErrorAlready, "did not detect duplicate"); in TestLinkedList()
172 VerifyOrQuit(list.Add(e) == kErrorAlready, "did not detect duplicate"); in TestLinkedList()
174 VerifyOrQuit(list.Pop() == &e); in TestLinkedList()
175 VerifyLinkedListContent(&list, &d, &c, &b, &a, nullptr); in TestLinkedList()
176 VerifyOrQuit(list.Find(e, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
178 VerifyOrQuit(list.FindMatchingWithPrev(prev, d.GetName()) == &d); in TestLinkedList()
180 VerifyOrQuit(list.FindMatchingWithPrev(prev, c.GetId()) == &c); in TestLinkedList()
182 VerifyOrQuit(list.FindMatchingWithPrev(prev, b.GetName()) == &b); in TestLinkedList()
184 VerifyOrQuit(list.FindMatchingWithPrev(prev, a.GetId()) == &a); in TestLinkedList()
186 VerifyOrQuit(list.FindMatchingWithPrev(prev, kAlphaType, b.GetId()) == &b); in TestLinkedList()
188 …VerifyOrQuit(list.FindMatchingWithPrev(prev, e.GetId()) == nullptr, "succeeded for a missing entry… in TestLinkedList()
189 …VerifyOrQuit(list.FindMatchingWithPrev(prev, e.GetName()) == nullptr, "succeeded for a missing ent… in TestLinkedList()
190 …VerifyOrQuit(list.FindMatchingWithPrev(prev, kBetaType, 2) == nullptr, "succeeded for a missing en… in TestLinkedList()
192 list.SetHead(&e); in TestLinkedList()
193 VerifyLinkedListContent(&list, &e, &d, &c, &b, &a, nullptr); in TestLinkedList()
195 SuccessOrQuit(list.Remove(c)); in TestLinkedList()
196 VerifyLinkedListContent(&list, &e, &d, &b, &a, nullptr); in TestLinkedList()
198 VerifyOrQuit(list.Remove(c) == kErrorNotFound); in TestLinkedList()
199 VerifyLinkedListContent(&list, &e, &d, &b, &a, nullptr); in TestLinkedList()
200 VerifyOrQuit(list.Find(c, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
202 SuccessOrQuit(list.Remove(e)); in TestLinkedList()
203 VerifyLinkedListContent(&list, &d, &b, &a, nullptr); in TestLinkedList()
204 VerifyOrQuit(list.Find(e, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
206 SuccessOrQuit(list.Remove(a)); in TestLinkedList()
207 VerifyLinkedListContent(&list, &d, &b, nullptr); in TestLinkedList()
208 VerifyOrQuit(list.Find(a, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
210 list.Push(a); in TestLinkedList()
211 list.Push(c); in TestLinkedList()
212 list.Push(e); in TestLinkedList()
213 VerifyLinkedListContent(&list, &e, &c, &a, &d, &b, nullptr); in TestLinkedList()
215 VerifyOrQuit(list.PopAfter(&a) == &d); in TestLinkedList()
216 VerifyLinkedListContent(&list, &e, &c, &a, &b, nullptr); in TestLinkedList()
218 VerifyOrQuit(list.PopAfter(&b) == nullptr); in TestLinkedList()
219 VerifyLinkedListContent(&list, &e, &c, &a, &b, nullptr); in TestLinkedList()
221 VerifyOrQuit(list.PopAfter(&e) == &c); in TestLinkedList()
222 VerifyLinkedListContent(&list, &e, &a, &b, nullptr); in TestLinkedList()
224 list.PushAfter(c, b); in TestLinkedList()
225 VerifyLinkedListContent(&list, &e, &a, &b, &c, nullptr); in TestLinkedList()
227 list.PushAfter(d, a); in TestLinkedList()
228 VerifyLinkedListContent(&list, &e, &a, &d, &b, &c, nullptr); in TestLinkedList()
230 VerifyOrQuit(list.PopAfter(nullptr) == &e); in TestLinkedList()
231 VerifyLinkedListContent(&list, &a, &d, &b, &c, nullptr); in TestLinkedList()
233 VerifyOrQuit(list.PopAfter(nullptr) == &a); in TestLinkedList()
234 VerifyLinkedListContent(&list, &d, &b, &c, nullptr); in TestLinkedList()
236 list.Push(e); in TestLinkedList()
237 list.Push(a); in TestLinkedList()
238 VerifyLinkedListContent(&list, &a, &e, &d, &b, &c, nullptr); in TestLinkedList()
240 VerifyOrQuit(list.RemoveMatching(a.GetName()) == &a); in TestLinkedList()
241 VerifyLinkedListContent(&list, &e, &d, &b, &c, nullptr); in TestLinkedList()
243 VerifyOrQuit(list.RemoveMatching(c.GetId()) == &c); in TestLinkedList()
244 VerifyLinkedListContent(&list, &e, &d, &b, nullptr); in TestLinkedList()
246 VerifyOrQuit(list.RemoveMatching(c.GetId()) == nullptr, "succeeded for missing entry"); in TestLinkedList()
247 VerifyOrQuit(list.RemoveMatching(a.GetName()) == nullptr, "succeeded for missing entry"); in TestLinkedList()
249 VerifyOrQuit(list.RemoveMatching(d.GetId()) == &d); in TestLinkedList()
250 VerifyLinkedListContent(&list, &e, &b, nullptr); in TestLinkedList()
252 list.Clear(); in TestLinkedList()
253 VerifyOrQuit(list.IsEmpty(), "failed after Clear()"); in TestLinkedList()
254 VerifyOrQuit(list.PopAfter(nullptr) == nullptr); in TestLinkedList()
255 VerifyLinkedListContent(&list, nullptr); in TestLinkedList()
256 VerifyOrQuit(list.Find(a, prev) == kErrorNotFound, "succeeded for a missing entry"); in TestLinkedList()
257 VerifyOrQuit(list.FindMatching(b.GetName()) == nullptr, "succeeded when empty"); in TestLinkedList()
258 VerifyOrQuit(list.FindMatching(c.GetId()) == nullptr, "succeeded when empty"); in TestLinkedList()
259 VerifyOrQuit(list.RemoveMatching(a.GetName()) == nullptr, "succeeded when empty"); in TestLinkedList()
260 VerifyOrQuit(list.Remove(a) == kErrorNotFound, "succeeded when empty"); in TestLinkedList()
262 list.Clear(); in TestLinkedList()
264 list.Push(f); in TestLinkedList()
265 list.Push(e); in TestLinkedList()
266 list.Push(d); in TestLinkedList()
267 list.Push(c); in TestLinkedList()
268 list.Push(b); in TestLinkedList()
269 list.Push(a); in TestLinkedList()
270 VerifyLinkedListContent(&list, &a, &b, &c, &d, &e, &f, nullptr); in TestLinkedList()
272 list.RemoveAllMatching(removedList, kAlphaType); in TestLinkedList()
273 VerifyLinkedListContent(&list, &c, &d, &f, nullptr); in TestLinkedList()
277 list.RemoveAllMatching(removedList, kAlphaType); in TestLinkedList()
278 VerifyLinkedListContent(&list, &c, &d, &f, nullptr); in TestLinkedList()
281 list.RemoveAllMatching(removedList, kBetaType); in TestLinkedList()
282 VerifyOrQuit(list.IsEmpty()); in TestLinkedList()
286 list.RemoveAllMatching(removedList, kAlphaType); in TestLinkedList()
287 VerifyOrQuit(list.IsEmpty()); in TestLinkedList()
290 list.Push(f); in TestLinkedList()
291 list.Push(e); in TestLinkedList()
292 list.Push(d); in TestLinkedList()
293 list.Push(c); in TestLinkedList()
294 list.Push(b); in TestLinkedList()
295 list.Push(a); in TestLinkedList()
296 VerifyLinkedListContent(&list, &a, &b, &c, &d, &e, &f, nullptr); in TestLinkedList()
298 list.RemoveAllMatching(removedList, kBetaType); in TestLinkedList()
299 VerifyLinkedListContent(&list, &a, &b, &e, nullptr); in TestLinkedList()
302 list.Clear(); in TestLinkedList()
303 list.PushAfterTail(a); in TestLinkedList()
304 VerifyLinkedListContent(&list, &a, nullptr); in TestLinkedList()
305 list.PushAfterTail(b); in TestLinkedList()
306 VerifyLinkedListContent(&list, &a, &b, nullptr); in TestLinkedList()
307 list.PushAfterTail(c); in TestLinkedList()
308 VerifyLinkedListContent(&list, &a, &b, &c, nullptr); in TestLinkedList()
309 list.PushAfterTail(d); in TestLinkedList()
310 VerifyLinkedListContent(&list, &a, &b, &c, &d, nullptr); in TestLinkedList()
317 OwningList<Entry> list; in TestOwningList() local
324 VerifyOrQuit(list.IsEmpty()); in TestOwningList()
325 VerifyOrQuit(list.GetHead() == nullptr); in TestOwningList()
326 VerifyOrQuit(list.Pop().IsNull()); in TestOwningList()
328 list.Free(); in TestOwningList()
329 VerifyOrQuit(list.IsEmpty()); in TestOwningList()
330 VerifyOrQuit(list.GetHead() == nullptr); in TestOwningList()
331 VerifyOrQuit(list.Pop().IsNull()); in TestOwningList()
335 list.Push(a); in TestOwningList()
336 VerifyLinkedListContent(&list, &a, nullptr); in TestOwningList()
337 list.Free(); in TestOwningList()
338 VerifyOrQuit(list.IsEmpty()); in TestOwningList()
344 list.Push(a); in TestOwningList()
345 list.Push(b); in TestOwningList()
346 list.Push(c); in TestOwningList()
347 list.Push(d); in TestOwningList()
348 list.Push(e); in TestOwningList()
349 VerifyLinkedListContent(&list, &e, &d, &c, &b, &a, nullptr); in TestOwningList()
351 list.Pop(); in TestOwningList()
352 VerifyLinkedListContent(&list, &d, &c, &b, &a, nullptr); in TestOwningList()
355 list.PopAfter(&c); in TestOwningList()
356 VerifyLinkedListContent(&list, &d, &c, &a, nullptr); in TestOwningList()
359 list.RemoveMatching("c"); in TestOwningList()
360 VerifyLinkedListContent(&list, &d, &a, nullptr); in TestOwningList()
363 list.Free(); in TestOwningList()
364 VerifyLinkedListContent(&list, nullptr); in TestOwningList()
375 list.Push(a); in TestOwningList()
376 list.Push(b); in TestOwningList()
377 list.Push(c); in TestOwningList()
378 list.Push(d); in TestOwningList()
379 list.Push(e); in TestOwningList()
380 VerifyLinkedListContent(&list, &e, &d, &c, &b, &a, nullptr); in TestOwningList()
382 ptr = list.PopAfter(&a); in TestOwningList()
383 VerifyLinkedListContent(&list, &e, &d, &c, &b, &a, nullptr); in TestOwningList()
386 ptr = list.PopAfter(&e); in TestOwningList()
387 VerifyLinkedListContent(&list, &e, &c, &b, &a, nullptr); in TestOwningList()
391 ptr = list.Pop(); in TestOwningList()
392 VerifyLinkedListContent(&list, &c, &b, &a, nullptr); in TestOwningList()
397 ptr = list.RemoveMatching<uint8_t>(1); in TestOwningList()
398 VerifyLinkedListContent(&list, &c, &b, nullptr); in TestOwningList()
403 list.Clear(); in TestOwningList()
418 list.Push(a); in TestOwningList()
419 list.Push(b); in TestOwningList()
420 list.Push(c); in TestOwningList()
421 list.Push(d); in TestOwningList()
422 list.Push(e); in TestOwningList()
423 list.Push(f); in TestOwningList()
424 VerifyLinkedListContent(&list, &f, &e, &d, &c, &b, &a, nullptr); in TestOwningList()
426 list.RemoveAllMatching(removedList, kAlphaType); in TestOwningList()
427 VerifyLinkedListContent(&list, &f, &d, &c, nullptr); in TestOwningList()
433 list.RemoveAllMatching(removedList, kAlphaType); in TestOwningList()
435 VerifyLinkedListContent(&list, &f, &d, &c, nullptr); in TestOwningList()
437 list.RemoveAllMatching(removedList, kBetaType); in TestOwningList()
438 VerifyOrQuit(list.IsEmpty()); in TestOwningList()
450 list.Push(a); in TestOwningList()
451 list.Push(b); in TestOwningList()
452 list.Push(c); in TestOwningList()
453 list.Push(d); in TestOwningList()
454 list.Push(e); in TestOwningList()
455 list.Push(f); in TestOwningList()
456 VerifyLinkedListContent(&list, &f, &e, &d, &c, &b, &a, nullptr); in TestOwningList()
458 didRemove = list.RemoveAndFreeAllMatching(kAlphaType); in TestOwningList()
459 VerifyLinkedListContent(&list, &f, &d, &c, nullptr); in TestOwningList()
466 didRemove = list.RemoveAndFreeAllMatching(kAlphaType); in TestOwningList()
468 VerifyLinkedListContent(&list, &f, &d, &c, nullptr); in TestOwningList()
471 didRemove = list.RemoveAndFreeAllMatching(kBetaType); in TestOwningList()
472 VerifyOrQuit(list.IsEmpty()); in TestOwningList()