extneded and fixed countdown unittests
This commit is contained in:
parent
78cf00315d
commit
64537d442a
@ -1,15 +1,18 @@
|
|||||||
#include <fsfw/timemanager/Countdown.h>
|
#include <fsfw/timemanager/Countdown.h>
|
||||||
|
|
||||||
#include <catch2/catch_test_macros.hpp>
|
#include <catch2/catch_test_macros.hpp>
|
||||||
|
#include <chrono>
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
#include "CatchDefinitions.h"
|
#include "CatchDefinitions.h"
|
||||||
|
|
||||||
|
static constexpr bool TEST_LONGER_CD = false;
|
||||||
TEST_CASE("Countdown Tests", "[TestCountdown]") {
|
TEST_CASE("Countdown Tests", "[TestCountdown]") {
|
||||||
INFO("Countdown Tests");
|
INFO("Countdown Tests");
|
||||||
Countdown count(20);
|
Countdown count(20);
|
||||||
REQUIRE(count.timeout == 20);
|
REQUIRE(count.getTimeoutMs() == 20);
|
||||||
REQUIRE(count.setTimeout(100) == static_cast<uint16_t>(returnvalue::OK));
|
REQUIRE(count.setTimeout(100) == static_cast<uint16_t>(returnvalue::OK));
|
||||||
REQUIRE(count.timeout == 100);
|
REQUIRE(count.getTimeoutMs() == 100);
|
||||||
REQUIRE(count.setTimeout(150) == static_cast<uint16_t>(returnvalue::OK));
|
REQUIRE(count.setTimeout(150) == static_cast<uint16_t>(returnvalue::OK));
|
||||||
REQUIRE(count.isBusy());
|
REQUIRE(count.isBusy());
|
||||||
REQUIRE(not count.hasTimedOut());
|
REQUIRE(not count.hasTimedOut());
|
||||||
@ -25,4 +28,19 @@ TEST_CASE("Countdown Tests", "[TestCountdown]") {
|
|||||||
count.resetTimer();
|
count.resetTimer();
|
||||||
REQUIRE(not count.hasTimedOut());
|
REQUIRE(not count.hasTimedOut());
|
||||||
REQUIRE(count.isBusy());
|
REQUIRE(count.isBusy());
|
||||||
|
count.setTimeout(100);
|
||||||
|
REQUIRE(not count.hasTimedOut());
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||||
|
REQUIRE(not count.hasTimedOut());
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||||
|
REQUIRE(count.hasTimedOut());
|
||||||
|
|
||||||
|
// Takes longer, disabled by default
|
||||||
|
if (TEST_LONGER_CD) {
|
||||||
|
count.setTimeout(2500);
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||||
|
REQUIRE(not count.hasTimedOut());
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1500));
|
||||||
|
REQUIRE(count.hasTimedOut());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user