Skip to content

Commit

Permalink
Update relayArray values and simulate time passing in test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
FredM67 committed Mar 21, 2024
1 parent 17e9906 commit 378fb93
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
2 changes: 1 addition & 1 deletion runtime/test/test_RelayEngine/test_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "utils_relay.h"

// Assuming you have a RelayOutput array defined somewhere
const RelayOutput relayArray[2]{ { 5, 1000, 200, 5, 5 }, { 6, 1000, 200, 5, 5 } };
const RelayOutput relayArray[2]{ { 5, 1000, 200, 5, 5 }, { 6, 2000, 100, 5, 5 } };

RelayEngine< 2 >* relayEngineTest;

Expand Down
18 changes: 14 additions & 4 deletions runtime/test/test_RelayOutput/test_,main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@

#include "utils_relay.h"

static_assert(__cplusplus >= 201703L, "See also : https://github.com/FredM67/PVRouter-3-phase/blob/main/runtime/Mk2_3phase_RFdatalog_temp/Readme.md");

RelayOutput* RelayOutputTest;

void setUp(void) {
Expand Down Expand Up @@ -43,17 +41,29 @@ void test_proceed_relay(void) {
TEST_ASSERT_EQUAL(false, RelayOutputTest->proceed_relay(150));
TEST_ASSERT_EQUAL(false, RelayOutputTest->isRelayON());

for(uint16_t _time = 0; _time < RelayOutputTest->get_minOFF(); ++_time) {
// We simulate the time passing (min OFF minus 1 second)
for(uint16_t _time = 1; _time < RelayOutputTest->get_minOFF(); ++_time) {
RelayOutputTest->inc_duration();
}

TEST_ASSERT_EQUAL(false, RelayOutputTest->proceed_relay(-1500));
TEST_ASSERT_EQUAL(false, RelayOutputTest->isRelayON());

RelayOutputTest->inc_duration();

TEST_ASSERT_EQUAL(true, RelayOutputTest->proceed_relay(-1500));
TEST_ASSERT_EQUAL(true, RelayOutputTest->isRelayON());

for(uint16_t _time = 0; _time < RelayOutputTest->get_minON(); ++_time) {
// We simulate the time passing (min ON minus 1 second)
for(uint16_t _time = 1; _time < RelayOutputTest->get_minON(); ++_time) {
RelayOutputTest->inc_duration();
}

TEST_ASSERT_EQUAL(false, RelayOutputTest->proceed_relay(250));
TEST_ASSERT_EQUAL(true, RelayOutputTest->isRelayON());

RelayOutputTest->inc_duration();

TEST_ASSERT_EQUAL(true, RelayOutputTest->proceed_relay(250));
TEST_ASSERT_EQUAL(false, RelayOutputTest->isRelayON());
}
Expand Down

0 comments on commit 378fb93

Please sign in to comment.