#ifndef UNITTEST_HOSTED_TESTACTIONHELPER_H_ #define UNITTEST_HOSTED_TESTACTIONHELPER_H_ #include <fsfw/action/HasActionsIF.h> #include <fsfw/ipc/MessageQueueIF.h> #include <unittest/core/CatchDefinitions.h> #include <cstring> class ActionHelperOwnerMockBase: public HasActionsIF { public: bool getCommandQueueCalled = false; bool executeActionCalled = false; static const size_t MAX_SIZE = 3; uint8_t buffer[MAX_SIZE] = {0, 0, 0}; size_t size = 0; MessageQueueId_t getCommandQueue() const override { return tconst::testQueueId; } ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy, const uint8_t* data, size_t size) override { executeActionCalled = true; if(size > MAX_SIZE){ return 0xAFFE; } this->size = size; memcpy(buffer, data, size); return HasReturnvaluesIF::RETURN_OK; } void clearBuffer(){ this->size = 0; for(size_t i = 0; i<MAX_SIZE; i++){ buffer[i] = 0; } } void getBuffer(const uint8_t** ptr, size_t* size){ if(size != nullptr){ *size = this->size; } if(ptr != nullptr){ *ptr = buffer; } } }; #endif /* UNITTEST_TESTFW_NEWTESTS_TESTACTIONHELPER_H_ */