diff options
Added files from project 1 (mirror)
1 files changed, 64 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/Project 1/tests/Tests_Ticket.h | 64 |
diff --git a/Year 1/Object-oriented Programming/Project 1/tests/Tests_Ticket.h b/Year 1/Object-oriented Programming/Project 1/tests/Tests_Ticket.h new file mode 100644 index 0000000..fc1855c --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 1/tests/Tests_Ticket.h @@ -0,0 +1,64 @@ +#include "../doctest/doctest/doctest.h" +#include "../src/Models/Ticket.h" + +TEST_SUITE_BEGIN("ClassTicket"); + +TEST_SUITE("Constructors") { + TEST_CASE("DefaultCtor_SetsZeroes_WhenCalled") { + Ticket t; + + CHECK_EQ(t.get_row(), 0); + CHECK_EQ(t.get_seat(), 0); + } + TEST_CASE("Ctor_SetsValues_WhenGivenProperValues") { + unsigned r = 0, s = 0; + SUBCASE("RowIsZero") { r = 0; } + SUBCASE("RowIsPositive") { r = 3; } + SUBCASE("SeatIsZero") { s = 0; } + SUBCASE("SeatIsPositive") { s = 7; } + Ticket t(r, s); + + CHECK_EQ(t.get_row(), r); + CHECK_EQ(t.get_seat(), s); + } +} + +TEST_SUITE("GettersAndSetters") { + TEST_CASE("RowGetter_ReturnsProperValue_WhenCreatedWithProperValue") { + Ticket t(6, 0); + + CHECK_EQ(t.get_row(), 6); + } + TEST_CASE("SeatGetter_ReturnsProperValue_WhenCreatedWithProperValue") { + Ticket t(0, 8); + + CHECK_EQ(t.get_seat(), 8); + } +} + +TEST_SUITE("compare()") { + TEST_CASE("compare_ReturnsLessThanZero_WhenFirstIsLessThanSecond") { + unsigned r1 = 0, r2 = 0, s1 = 0, s2 = 0; + SUBCASE("FirstRowIsLessThanSecond") { r1 = 5; r2 = 9; } + SUBCASE("RowsAreEqualAndFirstSeatIsLessThanSecond") { r1 = r2 = 62; s1 = 3; s2 = 93; } + Ticket t1(r1, s1), t2(r2, s2); + + CHECK_LT(t1.compare(t2), 0); + } + TEST_CASE("compare_ReturnsGreaterThanZero_WhenFirstIsGreaterThanSecond") { + unsigned r1 = 0, r2 = 0, s1 = 0, s2 = 0; + SUBCASE("FirstRowIsGreaterThanSecond") { r1 = 9; r2 = 5; } + SUBCASE("RowsAreEqualAndFirstSeatIsGreaterThanSecond") { r1 = r2 = 62; s1 = 93; s2 = 3; } + Ticket t1(r1, s1), t2(r2, s2); + + CHECK_GT(t1.compare(t2), 0); + } + TEST_CASE("compare_ReturnsZero_WhenFirstIsEqualToSecond") { + unsigned r1 = 458, r2 = 458, s1 = 73, s2 = 73; + Ticket t1(r1, s1), t2(r2, s2); + + CHECK_EQ(t1.compare(t2), 0); + } +} + +TEST_SUITE_END(); |
