From 5b3716bae21150525e80cd9e07a6830acc3fcf8f Mon Sep 17 00:00:00 2001 From: Alrik Appelfeldt <alrap417@student.liu.se> Date: Mon, 4 Mar 2024 19:12:45 +0000 Subject: [PATCH] Upload New File --- list/linked_list_test.cc | 116 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 list/linked_list_test.cc diff --git a/list/linked_list_test.cc b/list/linked_list_test.cc new file mode 100644 index 0000000..603c4e4 --- /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 -- GitLab