completed send helper tests
This commit is contained in:
@ -5,3 +5,9 @@ InternalErrorReporterMock::InternalErrorReporterMock() = default;
|
||||
void InternalErrorReporterMock::queueMessageNotSent() { queueMsgNotSentCallCnt++; }
|
||||
void InternalErrorReporterMock::lostTm() { lostTmCallCnt++; }
|
||||
void InternalErrorReporterMock::storeFull() { storeFullCallCnt++; }
|
||||
|
||||
void InternalErrorReporterMock::reset() {
|
||||
queueMsgNotSentCallCnt = 0;
|
||||
lostTmCallCnt = 0;
|
||||
storeFullCallCnt = 0;
|
||||
}
|
||||
|
@ -9,10 +9,11 @@ class InternalErrorReporterMock : public InternalErrorReporterIF {
|
||||
unsigned int lostTmCallCnt = 0;
|
||||
unsigned int storeFullCallCnt = 0;
|
||||
InternalErrorReporterMock();
|
||||
void reset();
|
||||
|
||||
private:
|
||||
void queueMessageNotSent() override;
|
||||
void lostTm() override;
|
||||
void storeFull() override;
|
||||
|
||||
private:
|
||||
};
|
||||
#endif // FSFW_TESTS_INTERNALERRORREPORTERMOCK_H
|
||||
|
@ -15,7 +15,7 @@ bool MessageQueueMock::wasMessageSent() const {
|
||||
[](const std::pair<MessageQueueId_t, SendInfo>& pair) { return pair.second.callCount > 0; });
|
||||
}
|
||||
|
||||
size_t MessageQueueMock::numberOfSentMessage() const {
|
||||
size_t MessageQueueMock::numberOfSentMessages() const {
|
||||
size_t callCount = 0;
|
||||
for (auto& destInfo : sendMap) {
|
||||
callCount += destInfo.second.callCount;
|
||||
@ -23,7 +23,7 @@ size_t MessageQueueMock::numberOfSentMessage() const {
|
||||
return callCount;
|
||||
}
|
||||
|
||||
size_t MessageQueueMock::numberOfSentMessage(MessageQueueId_t id) const {
|
||||
size_t MessageQueueMock::numberOfSentMessagesToDest(MessageQueueId_t id) const {
|
||||
auto iter = sendMap.find(id);
|
||||
if (iter == sendMap.end()) {
|
||||
return 0;
|
||||
@ -31,6 +31,10 @@ size_t MessageQueueMock::numberOfSentMessage(MessageQueueId_t id) const {
|
||||
return iter->second.callCount;
|
||||
}
|
||||
|
||||
size_t MessageQueueMock::numberOfSentMessagesToDefault() const {
|
||||
return numberOfSentMessagesToDest(MessageQueueBase::getDefaultDestination());
|
||||
}
|
||||
|
||||
ReturnValue_t MessageQueueMock::clearLastReceivedMessage(bool clearCmdMsg) {
|
||||
if (receivedMsgs.empty()) {
|
||||
return MessageQueueIF::EMPTY;
|
||||
@ -61,6 +65,10 @@ ReturnValue_t MessageQueueMock::sendMessageFrom(MessageQueueId_t sendTo,
|
||||
if (message == nullptr) {
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
}
|
||||
if (nextSendFailsPair.first) {
|
||||
nextSendFailsPair.first = false;
|
||||
return nextSendFailsPair.second;
|
||||
}
|
||||
auto iter = sendMap.find(sendTo);
|
||||
MessageQueueMessage messageCopy;
|
||||
if (iter == sendMap.end()) {
|
||||
@ -162,3 +170,7 @@ void MessageQueueMock::clearEmptyEntries() {
|
||||
}
|
||||
}
|
||||
}
|
||||
void MessageQueueMock::makeNextSendFail(ReturnValue_t retval) {
|
||||
nextSendFailsPair.first = true;
|
||||
nextSendFailsPair.second = retval;
|
||||
}
|
||||
|
@ -32,8 +32,10 @@ class MessageQueueMock : public MessageQueueBase {
|
||||
//! Get message which was sent to a specific ID
|
||||
ReturnValue_t getNextSentMessage(MessageQueueId_t id, MessageQueueMessageIF& message);
|
||||
[[nodiscard]] bool wasMessageSent() const;
|
||||
[[nodiscard]] size_t numberOfSentMessage() const;
|
||||
[[nodiscard]] size_t numberOfSentMessage(MessageQueueId_t id) const;
|
||||
void makeNextSendFail(ReturnValue_t retval);
|
||||
[[nodiscard]] size_t numberOfSentMessages() const;
|
||||
[[nodiscard]] size_t numberOfSentMessagesToDefault() const;
|
||||
[[nodiscard]] size_t numberOfSentMessagesToDest(MessageQueueId_t id) const;
|
||||
/**
|
||||
* Pop a message, clearing it in the process.
|
||||
* @return
|
||||
@ -53,6 +55,7 @@ class MessageQueueMock : public MessageQueueBase {
|
||||
using SendMap = std::map<MessageQueueId_t, SendInfo>;
|
||||
SendMap sendMap;
|
||||
std::queue<MessageQueueMessage> receivedMsgs;
|
||||
std::pair<bool, ReturnValue_t> nextSendFailsPair;
|
||||
|
||||
void clearEmptyEntries();
|
||||
ReturnValue_t receiveMessage(MessageQueueMessageIF* message) override;
|
||||
|
Reference in New Issue
Block a user