diff --git a/list/linked_list_test.cc b/list/linked_list_test.cc new file mode 100644 index 0000000000000000000000000000000000000000..603c4e4971034a40954755c6911d886097f37c59 --- /dev/null +++ b/list/linked_list_test.cc @@ -0,0 +1,116 @@ +#include "catch.hpp" +#include "linked_list.h" + +using namespace std; + +TEST_CASE("Constructors") +{ +SECTION("empty list") +{ + +List list_object; +CHECK(list_object.List_Is_Empty()); +} + + +} +TEST_CASE("Insert") +{ +SECTION("insert single node") +{ +List list_object; +list_object.Insert_Node(1); +CHECK(list_object.at(0) == 1); +} + +SECTION("insert multiple nodes") +{ +List list_object{4, 6, 7}; +CHECK(list_object.at(0) == 4); +CHECK(list_object.at(1) == 6); +CHECK(list_object.at(2) == 7); +} + +} + +TEST_CASE("get size") +{ +SECTION("size = 1") +{ +List list_object; +list_object.Insert_Node(4); +CHECK(list_object.get_size()==1); +} +SECTION("size = 4") +{ +List list_object; +list_object.Insert_Node(1); +list_object.Insert_Node(2); +list_object.Insert_Node(3); +list_object.Insert_Node(4); +CHECK(list_object.get_size() == 4); +} + +}list_object.List_Is_Empty() + + +TEST_CASE("Remove") +{ +SECTION("remove one node") +{ + +List list_object; +list_object.Insert_Node(1); +list_object.remove(0); +CHECK(list_object.List_Is_Empty()); +} +SECTION("remove multiple nodes") +{ +List list_object; +list_object.Insert_Node(1); +list_object.Insert_Node(2); +list_object.Insert_Node(3); +list_object.Insert_Node(4); +list_object.remove(0); +list_object.remove(1); + + +CHECK(list_object.get_size() == 2); +} +} + + +TEST_CASE("sorterad lista?") +{ + + +List list_object; +list_object.Insert_Node(100); +list_object.Insert_Node(1); +list_object.Insert_Node(2); +list_object.Insert_Node(20); +list_object.Insert_Node(500); + + +CHECK(list_object.at(0) == 1); +CHECK(list_object.at(1) == 2); +CHECK(list_object.at(2) == 20); +CHECK(list_object.at(3) == 100); +CHECK(list_object.at(4) == 500); + + +} + +TEST_CASE("kopierings operator") +{ + +stringstream ss; + +List list_object1{1, 2}; +List list_object2{list_object1}; + +ss << list_object2; + +CHECK(ss.str() ="1 2"); + +} \ No newline at end of file