Loading sim/tests/unitTests/components/Algorithm_FmuWrapper/SignalTranslatorTests.cpp +38 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include "SignalInterface/SignalTranslator.h" #include "common/dynamicsSignal.h" #include "common/primitiveSignals.h" #include "common/secondaryDriverTasksSignal.h" #include "fakeAgent.h" #include "include/fmuHandlerInterface.h" #include "include/signalInterface.h" Loading Loading @@ -437,3 +438,40 @@ TEST(SignalParser, GivenOutputSignalForCompCtrlSignal_WhenSignalNotEmpty_ThenGen EXPECT_THAT(warnings1.front().intensity, Eq(ComponentWarningIntensity::MEDIUM)); EXPECT_THAT(warnings1.front().direction, Eq(AreaOfInterest::EGO_FRONT_FAR)); } TEST(SignalParser, GivenOutputSignalForSecondaryDriverTasksSignal_WhenSignalNotEmpty_ThenGeneratesSecondaryDriverTasksSignal) { std::set<SignalType> outputSignals{SignalType::DynamicsSignal}; std::map<SignalValue, FmuValueWrapper> fakeValues{ {SignalValue::SecondaryDriverTasksSignal_IndicatorState, -1}, {SignalValue::SecondaryDriverTasksSignal_HornSwitch, true}, {SignalValue::SecondaryDriverTasksSignal_HeadLightSwitch, false}, {SignalValue::SecondaryDriverTasksSignal_HighBeamLightSwitch, false}, {SignalValue::SecondaryDriverTasksSignal_FlasherSwitch, true}}; std::vector<VariableType> requested_types; std::function<FmuValue&(SignalValue, VariableType)> getFmuSignalValue = [&](SignalValue signal_value, VariableType var_type) -> FmuValue& { requested_types.push_back(var_type); return fakeValues.at(signal_value).raw; }; FakeAgent fakeAgent; auto data = std::visit(OutputSignalVisitor(SignalType::SecondaryDriverTasksSignal, outputSignals, {}, {}, ComponentState::Acting, &fakeAgent, FMI1, getFmuSignalValue), OsiSource{std::monostate{}}); EXPECT_THAT(data.get(), WhenDynamicCastTo<const SecondaryDriverTasksSignal*>( Eq(SecondaryDriverTasksSignal{-1, true, false, false, true, ComponentState::Acting}))); } Loading
sim/tests/unitTests/components/Algorithm_FmuWrapper/SignalTranslatorTests.cpp +38 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include "SignalInterface/SignalTranslator.h" #include "common/dynamicsSignal.h" #include "common/primitiveSignals.h" #include "common/secondaryDriverTasksSignal.h" #include "fakeAgent.h" #include "include/fmuHandlerInterface.h" #include "include/signalInterface.h" Loading Loading @@ -437,3 +438,40 @@ TEST(SignalParser, GivenOutputSignalForCompCtrlSignal_WhenSignalNotEmpty_ThenGen EXPECT_THAT(warnings1.front().intensity, Eq(ComponentWarningIntensity::MEDIUM)); EXPECT_THAT(warnings1.front().direction, Eq(AreaOfInterest::EGO_FRONT_FAR)); } TEST(SignalParser, GivenOutputSignalForSecondaryDriverTasksSignal_WhenSignalNotEmpty_ThenGeneratesSecondaryDriverTasksSignal) { std::set<SignalType> outputSignals{SignalType::DynamicsSignal}; std::map<SignalValue, FmuValueWrapper> fakeValues{ {SignalValue::SecondaryDriverTasksSignal_IndicatorState, -1}, {SignalValue::SecondaryDriverTasksSignal_HornSwitch, true}, {SignalValue::SecondaryDriverTasksSignal_HeadLightSwitch, false}, {SignalValue::SecondaryDriverTasksSignal_HighBeamLightSwitch, false}, {SignalValue::SecondaryDriverTasksSignal_FlasherSwitch, true}}; std::vector<VariableType> requested_types; std::function<FmuValue&(SignalValue, VariableType)> getFmuSignalValue = [&](SignalValue signal_value, VariableType var_type) -> FmuValue& { requested_types.push_back(var_type); return fakeValues.at(signal_value).raw; }; FakeAgent fakeAgent; auto data = std::visit(OutputSignalVisitor(SignalType::SecondaryDriverTasksSignal, outputSignals, {}, {}, ComponentState::Acting, &fakeAgent, FMI1, getFmuSignalValue), OsiSource{std::monostate{}}); EXPECT_THAT(data.get(), WhenDynamicCastTo<const SecondaryDriverTasksSignal*>( Eq(SecondaryDriverTasksSignal{-1, true, false, false, true, ComponentState::Acting}))); }