mirror of
https://github.com/nasa/fprime.git
synced 2025-12-11 22:23:25 -06:00
* Updates for FppTest/dp and FppTest/component corresponding to UT cmake update for protected/private * Refactor Fpp/state_machine/internal_instance/state teststo be in their own Tester classes * Standardize headers * Remove old ifndef from BasicGuardTester.hpp * More cleanup of BasicGuardTester * Remove extra /dp files (leftover from rename) and fix a header comment typo * Revert accidentally checked in cmake * Enable UT_AUTO_HELPERS for FppTest/dp * Revert FppTest/state_machine/internal_instance/state * Update state_machine/internal_instance/state/ component names to append Tester * pdate state_machine/internal_instance/choice/ component names * Update state_machine/internal_instance/initial/ component names * Reformat code --------- Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
101 lines
5.1 KiB
C++
101 lines
5.1 KiB
C++
// ======================================================================
|
|
// \title BasicGuardStringTester.cpp
|
|
// \author bocchino
|
|
// \brief cpp file for BasicGuardStringTester component implementation class
|
|
// ======================================================================
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#include "FppTest/state_machine/internal/state/FppConstantsAc.hpp"
|
|
#include "FppTest/state_machine/internal_instance/state/BasicGuardStringTester.hpp"
|
|
#include "Fw/Types/Assert.hpp"
|
|
|
|
namespace FppTest {
|
|
|
|
namespace SmInstanceState {
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Component construction and destruction
|
|
// ----------------------------------------------------------------------
|
|
|
|
BasicGuardStringTester ::BasicGuardStringTester(const char* const compName)
|
|
: BasicGuardStringComponentBase(compName),
|
|
m_smStateBasicGuardString_action_a_history(),
|
|
m_smStateBasicGuardString_guard_g() {}
|
|
|
|
BasicGuardStringTester ::~BasicGuardStringTester() {}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Implementations for internal state machine actions
|
|
// ----------------------------------------------------------------------
|
|
|
|
void BasicGuardStringTester ::FppTest_SmState_BasicGuardString_action_a(SmId smId,
|
|
FppTest_SmState_BasicGuardString::Signal signal,
|
|
const Fw::StringBase& value) {
|
|
ASSERT_EQ(smId, SmId::smStateBasicGuardString);
|
|
this->m_smStateBasicGuardString_action_a_history.push(signal, Fw::String(value));
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Implementations for internal state machine guards
|
|
// ----------------------------------------------------------------------
|
|
|
|
bool BasicGuardStringTester ::FppTest_SmState_BasicGuardString_guard_g(SmId smId,
|
|
FppTest_SmState_BasicGuardString::Signal signal,
|
|
const Fw::StringBase& value) const {
|
|
FW_ASSERT(smId == SmId::smStateBasicGuardString, static_cast<FwAssertArgType>(smId));
|
|
return this->m_smStateBasicGuardString_guard_g.call(signal, Fw::String(value));
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Tests
|
|
// ----------------------------------------------------------------------
|
|
|
|
void BasicGuardStringTester::testFalse() {
|
|
this->m_smStateBasicGuardString_action_a_history.clear();
|
|
this->m_smStateBasicGuardString_guard_g.reset();
|
|
this->init(queueDepth, instanceId);
|
|
ASSERT_EQ(this->smStateBasicGuardString_getState(), SmState_BasicGuardString::State::S);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_action_a_history.getSize(), 0);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getSize(), 0);
|
|
Fw::String value;
|
|
SmHarness::Pick::string(value, SmState::basicGuardStringSize);
|
|
this->smStateBasicGuardString_sendSignal_s(value);
|
|
const auto status = this->doDispatch();
|
|
ASSERT_EQ(status, MSG_DISPATCH_OK);
|
|
ASSERT_EQ(this->smStateBasicGuardString_getState(), SmState_BasicGuardString::State::S);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getSize(), 1);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getSignals().getItemAt(0),
|
|
SmState_BasicGuardString::Signal::s);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getValues().getItemAt(0), value);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_action_a_history.getSize(), 0);
|
|
}
|
|
|
|
void BasicGuardStringTester::testTrue() {
|
|
this->m_smStateBasicGuardString_action_a_history.clear();
|
|
this->m_smStateBasicGuardString_guard_g.reset();
|
|
this->m_smStateBasicGuardString_guard_g.setReturnValue(true);
|
|
this->init(queueDepth, instanceId);
|
|
ASSERT_EQ(this->smStateBasicGuardString_getState(), SmState_BasicGuardString::State::S);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_action_a_history.getSize(), 0);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getSize(), 0);
|
|
Fw::String value;
|
|
SmHarness::Pick::string(value, SmState::basicGuardStringSize);
|
|
this->smStateBasicGuardString_sendSignal_s(value);
|
|
const auto status = this->doDispatch();
|
|
ASSERT_EQ(status, MSG_DISPATCH_OK);
|
|
ASSERT_EQ(this->smStateBasicGuardString_getState(), SmState_BasicGuardString::State::T);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getSize(), 1);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getSignals().getItemAt(0),
|
|
SmState_BasicGuardString::Signal::s);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_guard_g.getCallHistory().getValues().getItemAt(0), value);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_action_a_history.getSize(), 1);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_action_a_history.getSignals().getItemAt(0),
|
|
SmState_BasicGuardString::Signal::s);
|
|
ASSERT_EQ(this->m_smStateBasicGuardString_action_a_history.getValues().getItemAt(0), value);
|
|
}
|
|
|
|
} // namespace SmInstanceState
|
|
|
|
} // namespace FppTest
|