Horizon Official Technical Documentation
LinkedListTest.cpp File Reference
#include "Core/Structures/LinkedList/Element.hpp"
#include "Core/Structures/LinkedList/Head.hpp"
#include <boost/test/unit_test.hpp>
#include <cstring>
#include <iostream>
+ Include dependency graph for LinkedListTest.cpp:

Classes

class  TestListElem
 
class  TestListHead
 

Macros

#define BOOST_TEST_MODULE   "LinkedListTest"
 

Functions

 BOOST_AUTO_TEST_CASE (LinkedListTest)
 

Macro Definition Documentation

◆ BOOST_TEST_MODULE

#define BOOST_TEST_MODULE   "LinkedListTest"

Function Documentation

◆ BOOST_AUTO_TEST_CASE()

BOOST_AUTO_TEST_CASE ( LinkedListTest  )
67{
68 int var[10000];
70
71 std::shared_ptr<TestListElem> t[10000];
72
73 for (int i = 0; i < 10000; i++) {
74 var[i] = i;
75 t[i] = std::make_shared<TestListElem>(var[i]);
76 h.push_front(t[i].get());
77 BOOST_CHECK_EQUAL(h.first()->get_var(), var[i]);
78 }
79
80 int idx = 9999;
81 for (TestListHead::iterator it = h.begin(); it != TestListHead::iterator(nullptr); ++it) {
82 //printf("pre-increment: %d\n", it->get_var());
83 BOOST_CHECK_EQUAL(it->get_var(), var[idx--]);
84 }
85
86 idx = 9999;
87 for (TestListHead::iterator it = h.begin(); it != TestListHead::iterator(nullptr); it++) {
88 //printf("reverse post-increment: %d\n", it->get_var());
89 BOOST_CHECK_EQUAL(it->get_var(), var[idx--]);
90 }
91
92 idx = 0;
93 for (TestListHead::iterator it = h.end(); it != TestListHead::iterator(nullptr); --it) {
94 //printf("pre-decrement: %d\n", it->get_var());
95 BOOST_CHECK_EQUAL(it->get_var(), var[idx++]);
96 }
97
98 idx = 0;
99 for (TestListHead::iterator it = h.end(); it != TestListHead::iterator(nullptr); it--) {
100 //printf("post-decrement: %d\n", it->get_var());
101 BOOST_CHECK_EQUAL(it->get_var(), var[idx++]);
102 }
103}
void push_front(Element *pElem)
push_front() and push_back() are used to add an Element to the list.
Definition: Head.hpp:56
int get_var() const
Definition: LinkedListTest.cpp:45
Definition: LinkedListTest.cpp:53
TestListElem * first()
Definition: LinkedListTest.cpp:56
iterator begin()
Definition: LinkedListTest.cpp:62
iterator end()
Definition: LinkedListTest.cpp:63
Head::Iterator< TestListElem > iterator
Definition: LinkedListTest.cpp:55

References TestListHead::begin(), TestListHead::end(), TestListHead::first(), TestListElem::get_var(), and Horizon::Structures::LinkedList::Head::push_front().

+ Here is the call graph for this function: