From 7faa7c79bf862b352b23798987b7c6544ae8de9f Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 10 Jan 2016 18:51:52 +0100 Subject: [PATCH] Re #2939: additional test for EDGE logical switch --- radio/src/tests/switches.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/radio/src/tests/switches.cpp b/radio/src/tests/switches.cpp index f39720d1d..f61f8b6ee 100644 --- a/radio/src/tests/switches.cpp +++ b/radio/src/tests/switches.cpp @@ -482,6 +482,26 @@ TEST(getSwitch, edgeInstant) EXPECT_EQ(getSwitch(SWSRC_SW1), false); EXPECT_EQ(getSwitch(SWSRC_SW2), false); + //test what happens when EDGE condition is true and + //logical switches are reset - the switch should fire again + + simuSetSwitch(0, 1); //SA up + simuSetSwitch(5, 1); //SF up + logicalSwitchesTimerTick(); + evalLogicalSwitches(); + EXPECT_EQ(getSwitch(SWSRC_SW1), false); //switch will not trigger, because SF was already up + EXPECT_EQ(getSwitch(SWSRC_SW2), false); + + logicalSwitchesReset(); + logicalSwitchesTimerTick(); + evalLogicalSwitches(); + EXPECT_EQ(getSwitch(SWSRC_SW1), true); + EXPECT_EQ(getSwitch(SWSRC_SW2), true); + + logicalSwitchesTimerTick(); + evalLogicalSwitches(); + EXPECT_EQ(getSwitch(SWSRC_SW1), false); + EXPECT_EQ(getSwitch(SWSRC_SW2), false); } TEST(getSwitch, edgeRelease)