Skip to content
Snippets Groups Projects
Commit 0d6ce40b authored by Alrik Appelfeldt's avatar Alrik Appelfeldt
Browse files

klar testfil

parent 9892f41a
No related branches found
No related tags found
No related merge requests found
#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);
}
}
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?")
{
SECTION("FIRST TEST")
{
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);
}
SECTION("SECOND TEST")
{
List list_object;
list_object.Insert_Node(107);
list_object.Insert_Node(23);
list_object.Insert_Node(500);
list_object.Insert_Node(23);
list_object.Insert_Node(1);
CHECK(list_object.at(0) == 1);
CHECK(list_object.at(1) == 23);
CHECK(list_object.at(2) == 23);
CHECK(list_object.at(3) == 107);
CHECK(list_object.at(4) == 500);
}
SECTION("SECOND THIRD TEST")
{
List list_object;
list_object.Insert_Node(-1);
list_object.Insert_Node(-23);
list_object.Insert_Node(-500);
list_object.Insert_Node(-23);
list_object.Insert_Node(1);
CHECK(list_object.at(0) == -500);
CHECK(list_object.at(1) == -23);
CHECK(list_object.at(2) == -23);
CHECK(list_object.at(3) == -1);
CHECK(list_object.at(4) == 1);
}
}
TEST_CASE("kopierings operator")
{
stringstream ss;
List list_object1{1, 2, 3, 4, 5};
List list_object2{list_object1};
ss << list_object2;
CHECK(ss.str() =="1 2 3 4 5");
}
TEST_CASE ("operator =")
{
stringstream ss;
List list_object1{1,2,3};
List list_object2{4,5,6};
list_object1 = list_object2;
ss << list_object1;
CHECK(ss.str()=="4 5 6");
}
TEST_CASE ("SWAP")
{
stringstream ss;
stringstream sk;
List list_object1{1, 2, 3};
List list_object2{4, 5, 6};
list_object1 = std::move(list_object2);
ss << list_object1;
sk << list_object2;
CHECK (ss.str()=="4 5 6");
CHECK (sk.str()=="1 2 3");
}
TEST_CASE("KONSTRUKTOR SWAP")
{
List list_object1 {1, 2, 3};
List list_object2 {std::move(list_object1)};
stringstream ss;
ss << list_object2;
CHECK (ss.str()== "1 2 3");
CHECK (list_object1.List_Is_Empty());
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment