fsfw/unittests/mocks/PusServiceBaseMock.cpp

54 lines
1.4 KiB
C++

#include "PusServiceBaseMock.h"
PsbMock::PsbMock(PsbParams params) : PusServiceBase(params) {}
ReturnValue_t PsbMock::handleRequest(uint8_t subservice) {
handleRequestCallCnt++;
subserviceQueue.push(subservice);
if (handleReqFailPair.first) {
handleReqFailPair.first = false;
return handleReqFailPair.second;
}
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t PsbMock::performService() {
performServiceCallCnt++;
if (performServiceFailPair.first) {
performServiceFailPair.first = false;
return performServiceFailPair.second;
}
return HasReturnvaluesIF::RETURN_OK;
}
void PsbMock::reset() {
handleRequestCallCnt = 0;
performServiceCallCnt = 0;
std::queue<uint8_t>().swap(subserviceQueue);
}
void PsbMock::makeNextHandleReqCallFail(ReturnValue_t retval) {
handleReqFailPair.first = true;
handleReqFailPair.second = retval;
}
bool PsbMock::getAndPopNextSubservice(uint8_t& subservice) {
if (subserviceQueue.empty()) {
return false;
}
subservice = subserviceQueue.front();
subserviceQueue.pop();
return true;
}
PsbParams& PsbMock::getParams() { return psbParams; }
void PsbMock::setStaticPusDistributor(object_id_t pusDistributor) {
PUS_DISTRIBUTOR = pusDistributor;
}
object_id_t PsbMock::getStaticPusDistributor() { return PUS_DISTRIBUTOR; }
void PsbMock::setStaticTmDest(object_id_t tmDest) { PACKET_DESTINATION = tmDest; }
object_id_t PsbMock::getStaticTmDest() { return PACKET_DESTINATION; }