#include #include "fsfw/globalfunctions/PeriodicOperationDivider.h" TEST_CASE("OpDivider", "[OpDivider]") { auto opDivider = PeriodicOperationDivider(1); REQUIRE(opDivider.getDivider() == 1); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.check() == true); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.check() == true); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.checkAndIncrement() == true); opDivider.setDivider(0); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.checkAndIncrement() == true); opDivider.setDivider(2); opDivider.resetCounter(); REQUIRE(opDivider.getDivider() == 2); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.check() == false); REQUIRE(opDivider.checkAndIncrement() == false); REQUIRE(opDivider.getCounter() == 2); REQUIRE(opDivider.check() == true); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.check() == false); REQUIRE(opDivider.checkAndIncrement() == false); REQUIRE(opDivider.getCounter() == 2); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.checkAndIncrement() == false); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.checkAndIncrement() == false); opDivider.setDivider(3); opDivider.resetCounter(); REQUIRE(opDivider.checkAndIncrement() == false); REQUIRE(opDivider.checkAndIncrement() == false); REQUIRE(opDivider.getCounter() == 3); REQUIRE(opDivider.checkAndIncrement() == true); REQUIRE(opDivider.getCounter() == 1); REQUIRE(opDivider.checkAndIncrement() == false); auto opDividerNonResetting = PeriodicOperationDivider(2, false); REQUIRE(opDividerNonResetting.getCounter() == 1); REQUIRE(opDividerNonResetting.check() == false); REQUIRE(opDividerNonResetting.checkAndIncrement() == false); REQUIRE(opDividerNonResetting.getCounter() == 2); REQUIRE(opDividerNonResetting.check() == true); REQUIRE(opDividerNonResetting.checkAndIncrement() == true); REQUIRE(opDividerNonResetting.getCounter() == 3); REQUIRE(opDividerNonResetting.checkAndIncrement() == true); REQUIRE(opDividerNonResetting.getCounter() == 4); opDividerNonResetting.resetCounter(); REQUIRE(opDividerNonResetting.getCounter() == 1); REQUIRE(opDividerNonResetting.check() == false); REQUIRE(opDividerNonResetting.checkAndIncrement() == false); REQUIRE(opDividerNonResetting.getCounter() == 2); }