From 304681a7206371db24cebb8870a43a61b2ea4d9f Mon Sep 17 00:00:00 2001 From: Dimitrios Stoupis <dimitris.apple@gmail.com> Date: Sat, 16 Mar 2019 20:48:05 +0000 Subject: [PATCH] Added sections for all the required tests --- test/Services/TimeBasedSchedulingService.cpp | 114 ++++++++++++++----- 1 file changed, 83 insertions(+), 31 deletions(-) diff --git a/test/Services/TimeBasedSchedulingService.cpp b/test/Services/TimeBasedSchedulingService.cpp index 684e322f..af12cf03 100644 --- a/test/Services/TimeBasedSchedulingService.cpp +++ b/test/Services/TimeBasedSchedulingService.cpp @@ -7,12 +7,15 @@ namespace unit_test { struct Tester { TimeBasedSchedulingService gen; + static bool executionFunctionStatus(TimeBasedSchedulingService tmService) { return tmService.executionFunctionStatus; } + static uint8_t currentNumberOfActivities(TimeBasedSchedulingService tmService) { return tmService.currentNumberOfActivities; } + static auto scheduledActivities(TimeBasedSchedulingService tmService) { return tmService.scheduledActivities; } @@ -40,44 +43,93 @@ TEST_CASE("TC[11,2]", "[service][st11]") { CHECK(not unit_test::Tester::executionFunctionStatus(timeSchedulingService)); } -TEST_CASE("TC[11,4]", "[service][st11]") { - Message receivedMessage(11, 4, Message::TC, 1), - testMessage1(6, 5, Message::TC, 4), testMessage2(4, 5, Message::TC, 6), - testMessage3(3, 2, Message::TC, 7); +TEST_CASE("ST[11] Integrated test", "[service][st11]") { +#define NUMBER_OF_INSTRUCTIONS 4 // The number of total instructions in the packet + + Message testMessage1(6, 5, Message::TC, 4), testMessage2(4, 5, Message::TC, 6), + testMessage3(3, 2, Message::TC, 7), testMessage4(12, 23, Message::TC, 5); MessageParser msgParser; + TimeBasedSchedulingService timeBasedSchedulingService; + SECTION("TC[11,4] Activity insertion") { + Message receivedMessage(11, 4, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); + + // Test activity 1 + testMessage1.appendUint16(4253); // Append dummy data + receivedMessage.appendUint32(1556435); // todo: Append actual time + receivedMessage.appendString(msgParser.convertTCToStr(testMessage1)); + + // Test activity 2 + testMessage2.appendUint16(45667); // Append dummy data + receivedMessage.appendUint32(1957232); // todo: Append actual time + receivedMessage.appendString(msgParser.convertTCToStr(testMessage2)); + + // Test activity 3 + testMessage3.appendUint16(456); // Append dummy data + receivedMessage.appendUint32(1726435); // todo: Append actual time + receivedMessage.appendString(msgParser.convertTCToStr(testMessage3)); + + // Test activity 4 + testMessage4.appendUint16(934); // Append dummy data + receivedMessage.appendUint32(17248435); // todo: Append actual time + receivedMessage.appendString(msgParser.convertTCToStr(testMessage4)); + + // Insert activities in the schedule. They have to be inserted sorted + timeBasedSchedulingService.insertActivities(receivedMessage); + + auto scheduledActivities = unit_test::Tester::scheduledActivities( + timeBasedSchedulingService); + CHECK(scheduledActivities.size() == 4); + REQUIRE(scheduledActivities.at(0).requestReleaseTime == 1556435); + REQUIRE(scheduledActivities.at(1).requestReleaseTime == 1726435); + REQUIRE(scheduledActivities.at(2).requestReleaseTime == 1957232); + REQUIRE(scheduledActivities.at(3).requestReleaseTime == 17248435); + REQUIRE(scheduledActivities.at(0).request == testMessage1); + REQUIRE(scheduledActivities.at(1).request == testMessage3); + REQUIRE(scheduledActivities.at(2).request == testMessage2); + REQUIRE(scheduledActivities.at(3).request == testMessage4); + } - receivedMessage.appendUint16(3); // Number od instructions + SECTION("TC[11,5] Activity deletion by ID") { + Message receivedMessage(11, 5, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); - // Test activity 1 - testMessage1.appendUint16(4253); // todo: Append dummy data - receivedMessage.appendUint32(1556435); // todo: Append actual time - receivedMessage.appendString(msgParser.convertTCToStr(testMessage1)); + //timeBasedSchedulingService.detailReporActivitiesByID(); + } - // Test activity 2 - testMessage2.appendUint16(45667); // todo: Append dummy data - receivedMessage.appendUint32(1); // todo: Append actual time - receivedMessage.appendString(msgParser.convertTCToStr(testMessage2)); + SECTION("TC[11,7] Time shift activities by ID") { + Message receivedMessage(11, 7, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); - // Test activity 3 - testMessage3.appendUint16(456); // todo: Append dummy data - receivedMessage.appendUint32(1726435); // todo: Append actual time - receivedMessage.appendString(msgParser.convertTCToStr(testMessage3)); + //timeBasedSchedulingService.detailReporActivitiesByID(); + } + SECTION("TC[11,9] Detail report scheduled activities by ID") { + Message receivedMessage(11, 9, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); - TimeBasedSchedulingService timeBasedSchedulingService; - timeBasedSchedulingService.insertActivities(receivedMessage); - - auto scheduledActivities = unit_test::Tester::scheduledActivities(timeBasedSchedulingService); - CHECK(scheduledActivities.size() == 2); // Two will be inserted (Second is invalid) - REQUIRE(scheduledActivities.at(0).requestReleaseTime == 1556435); - REQUIRE(scheduledActivities.at(1).requestReleaseTime == 1726435); - //CHECK(memcmp(&scheduledActivities.at(0).request, &testMessage2, sizeof(Message))); - std::cout << scheduledActivities.at(0).request.data << " " << testMessage1.data << std::endl; - if (scheduledActivities.at(0).request == testMessage1) { - std::cout << "Message are the same!!" << std::endl; + //timeBasedSchedulingService.detailReporActivitiesByID(); + } + + SECTION("TC[11,12] Summary report scheduled activities by ID") { + Message receivedMessage(11, 12, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); + + //timeBasedSchedulingService.detailReporActivitiesByID(); + } + + SECTION("TC[11,15] Time shift all scheduled activities") { + Message receivedMessage(11, 15, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); + + //timeBasedSchedulingService.detailReporActivitiesByID(); + } + + SECTION("TC[11,16] Detail report all scheduled activities") { + Message receivedMessage(11, 16, Message::TC, 1); + receivedMessage.appendUint16(NUMBER_OF_INSTRUCTIONS); + + //timeBasedSchedulingService.detailReporActivitiesByID(); } - //CHECK(scheduledActivities.at(0).request == testMessage1); - //REQUIRE(scheduledActivities.at(2).requestReleaseTime == 1556435); - //REQUIRE(scheduledActivities.at(0).requestID.applicationID == 45); } -- GitLab