From 0a8e2197095206c919701b364dccf82930dba0d9 Mon Sep 17 00:00:00 2001 From: Dimitrios Stoupis <dimitris.apple@gmail.com> Date: Sun, 2 Dec 2018 13:49:10 +0000 Subject: [PATCH] Add tests for TC[6,9] --- test/Services/MemoryManagementService.cpp | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test/Services/MemoryManagementService.cpp b/test/Services/MemoryManagementService.cpp index ff4d6461..06bbe264 100644 --- a/test/Services/MemoryManagementService.cpp +++ b/test/Services/MemoryManagementService.cpp @@ -94,3 +94,40 @@ TEST_CASE("TM[6,5]", "[service][st06]") { CHECK(checkString[1] == 8); CHECK(checksum == CRCHelper::calculateCRC(checkString, readSize)); } + +TEST_CASE("TM[6,9]", "[service][st06]") { + uint8_t testString_1[6] = "FStrT"; + uint8_t testString_2[8] = "SecStrT"; + uint16_t readSize = 0, checksum = 0; + + MemoryManagementService memMangService; + Message receivedPacket = Message(6, 9, Message::TC, 1); + receivedPacket.appendEnum8(MemoryManagementService::MemoryID::EXTERNAL); // Memory ID + receivedPacket.appendUint16(2); // Iteration count + receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_1)); // Start address + receivedPacket.appendUint16(sizeof(testString_1) / sizeof(testString_1[0])); // Data read length + + receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_2)); + receivedPacket.appendUint16(sizeof(testString_2) / sizeof(testString_2[0])); + memMangService.rawDataMemorySubservice.checkRawData(receivedPacket); + REQUIRE(ServiceTests::hasOneMessage()); + + Message response = ServiceTests::get(0); + CHECK(response.serviceType == 6); + CHECK(response.messageType == 10); + REQUIRE(response.dataSize == 27); + + CHECK(response.readEnum8() == MemoryManagementService::MemoryID::EXTERNAL); + CHECK(response.readUint16() == 2); + CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_1)); + readSize = response.readUint16(); + checksum = response.readBits(16); + CHECK(readSize == sizeof(testString_1) / sizeof(testString_1[0])); + CHECK(checksum == CRCHelper::calculateCRC(testString_1, readSize)); + + CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_2)); + readSize = response.readUint16(); + checksum = response.readBits(16); + CHECK(readSize == sizeof(testString_2) / sizeof(testString_2[0])); + CHECK(checksum == CRCHelper::calculateCRC(testString_2, readSize)); +} -- GitLab