Website Summary Files Commits Branches @commit @diff @stats
path: root / tests
diff options
context:
space:
mode:
Commitbb068945fdc936250e8d7d8a10797d66adca673f (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-09 09:56:03 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-09 09:56:03 +0300
Files6b6ed03fd505450e1b4c03138939c0ab58894df4 /tests
FMI-OOP-P1_TicketSystem-bb068945fdc936250e8d7d8a10797d66adca673f.tar
FMI-OOP-P1_TicketSystem-bb068945fdc936250e8d7d8a10797d66adca673f.tar.gz
FMI-OOP-P1_TicketSystem-bb068945fdc936250e8d7d8a10797d66adca673f.zip
Parentc153706333659a6ad53c1692d8c47cfe1e0846b4 (diff)
Added Event tests
1 files changed, 89 insertions, 0 deletions
-rw-r--r--tests/Tests_Event.cpp89
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();