From bb068945fdc936250e8d7d8a10797d66adca673f Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 9 May 2022 09:56:03 +0300 Subject: Added Event tests --- tests/Tests_Event.cpp | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 tests/Tests_Event.cpp (limited to 'tests/Tests_Event.cpp') diff --git a/tests/Tests_Event.cpp b/tests/Tests_Event.cpp new file mode 100644 index 0000000..a27142a --- /dev/null +++ b/tests/Tests_Event.cpp @@ -0,0 +1,89 @@ +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "../doctest/doctest/doctest.h" +#include "../src/Models/Event.h" +#include "../src/Generic/String/String.h" + +TEST_SUITE_BEGIN("ClassEvent"); + +TEST_SUITE("Constructors") { + TEST_CASE("DefaultCtor_CallsDefaultCtorsOnData_WhenCalled") { + Event e; + + CHECK_EQ(e.get_hall().compare(Hall()), 0); + CHECK_EQ(e.get_name().compare(String()), 0); + CHECK_EQ(e.get_date().compare(Date()), 0); + } + TEST_CASE("Ctor_SavesParameters_WhenCalledWithProperParameters") { + Hall h(1, 2, 3); + String n("Test"); + Date d(21, 3, 2012); + + Event e(h, n, d); + CHECK_EQ(e.get_hall().compare(h), 0); + CHECK_EQ(e.get_name().compare(n), 0); + CHECK_EQ(e.get_date().compare(d), 0); + } +} + +TEST_SUITE("GettersAndSetters") { + TEST_CASE("HallGetter_ReturnsProperHall_WhenCreatedWithProperHall") { + Hall h(1, 2, 3); + String n("Test"); + Date d(21, 3, 2012); + + Event e(h, n, d); + CHECK_EQ(e.get_hall().compare(h), 0); + } + + TEST_CASE("NameGetter_ReturnsProperName_WhenCreatedWithProperName") { + Hall h(1, 2, 3); + String n("Test"); + Date d(21, 3, 2012); + + Event e(h, n, d); + CHECK_EQ(e.get_name().compare(n), 0); + } + + TEST_CASE("DateGetter_ReturnsProperDate_WhenCreatedWithProperDate") { + Hall h(1, 2, 3); + String n("Test"); + Date d(21, 3, 2012); + + Event e(h, n, d); + CHECK_EQ(e.get_date().compare(d), 0); + } + + TEST_CASE("TicketsGetter_ReturnsEmptyList_WhenCreatedWithDefaultCtor") { + Event e; + + CHECK_EQ(e.get_tickets().get_count(), 0); + } + + TEST_CASE("ReservationsGetter_ReturnsEmptyList_WhenCreatedWithDefaultCtor") { + Event e; + + CHECK_EQ(e.get_reservations().get_count(), 0); + } +} + +TEST_SUITE("compare()") { + TEST_CASE("compare_ReturnsCompareBetweenHallsAndDates_WhenCalled") { + Hall h1(1, 2, 3), h2(3, 4, 5); + Date d1(1, 4, 2009), d2(19, 5, 2010); + + SUBCASE("HallIsLessThanOtherHall") {} + SUBCASE("HallIsBiggerThanOtherHall") { Hall temp = h2; h2 = h1; h1 = temp; } + SUBCASE("HallsAreEqual") { h1 = h2; } + SUBCASE("HallsAreEqualAndDateIsLessThanOther") {} + SUBCASE("HallsAreEqualAndDateIsMoreThanOther") { Date temp = d2; d2 = d1; d1 = temp; } + SUBCASE("HallsAreEqualAndDatesAreEqual") { h1 = h2; d1 = d2; } + Event e1(h1, "Test1", d1), e2(h2, "Test2", d2); + + if (h1.compare(h2) == 0) + CHECK_EQ(e1.compare(e2), d1.compare(d2)); + else + CHECK_EQ(e1.compare(e2), h1.compare(h2)); + } +} + +TEST_SUITE_END(); -- cgit v1.3.1-23-gd82d