diff options
| Commit | 9c0be0283c265cff286cadb5f7ddc7caf826c251 (patch) | |
|---|---|---|
| Author | 2022-05-12 20:32:10 +0300 | |
| Committer | 2022-05-12 20:32:10 +0300 | |
| Files | 25bcaf91fb10b96e0fdad918a25aaeb9fdecb279 /tests/Tests_Command.h | |
| FMI-OOP-P1_TicketSystem-University-submission.tar FMI-OOP-P1_TicketSystem-University-submission.tar.gz FMI-OOP-P1_TicketSystem-University-submission.zip | ||
| Parent | 35831ff8dc30c9884a7c3340414f005a0d4ada10 (diff) | |
Added reworked how tests are built University-submission
1 files changed, 51 insertions, 0 deletions
| -rw-r--r-- | tests/Tests_Command.h | 51 |
diff --git a/tests/Tests_Command.h b/tests/Tests_Command.h new file mode 100644 index 0000000..02325cd --- /dev/null +++ b/tests/Tests_Command.h @@ -0,0 +1,51 @@ +#include <cstring> +#include "../doctest/doctest/doctest.h" +#include "../src/Generic/ConsoleInterface/Command.h" + +TEST_SUITE_BEGIN("ClassCommand"); + +unsigned value = 0; +void increment() { + value++; +} + +TEST_SUITE("Constructors") { + TEST_CASE("DefaultCtor_SavesNameInMenuAsBlankString_WhenCalled") { + Command c; + + CHECK_EQ(strcmp(c.get_nameInMenu(), ""), 0); + } + TEST_CASE("Ctor_SavesValues_WhenGivenCorrectValues") { + void (*exec)() = nullptr; + SUBCASE("ActualFunctionPointer") { exec = increment; } + SUBCASE("nullptrFunctionPointer") { exec = nullptr; } + Command c("Test", exec); + + CHECK_EQ(strcmp(c.get_nameInMenu(), "Test"), 0); + } +} + +TEST_SUITE("GettersAndSetters") { + TEST_CASE("nameInMenuGetter_ReturnsProperPointer_WhenCreatedWithProperString") { + Command c("Test", nullptr); + + CHECK_EQ(strcmp(c.get_nameInMenu(), "Test"), 0); + } + TEST_CASE("nameInMenuGetter_ReturnsBlankString_WhenCreatedWithDefaultCtor") { + Command c; + + CHECK_EQ(strcmp(c.get_nameInMenu(), ""), 0); + } +} + +TEST_SUITE("run()") { + TEST_CASE("run_ExecutesFunction_WhenCreatedWithProperFunction") { + value = 0; + Command c("Test", increment); + c.run(); + + CHECK_EQ(value, 1); + } +} + +TEST_SUITE_END(); |
