Files
Jungfraujoch/tests/PreviewCounterTest.cpp

32 lines
1.3 KiB
C++

// Copyright (2019-2023) Paul Scherrer Institute
#include <thread>
#include <catch2/catch_all.hpp>
#include "../preview/PreviewCounter.h"
TEST_CASE("PreviewCount", "") {
PreviewCounter counter(std::chrono::seconds(1));
REQUIRE(counter.GeneratePreview()); // at first run it should generate preview
REQUIRE(!counter.GeneratePreview()); // immediately after not
std::this_thread::sleep_for(std::chrono::seconds(1));
REQUIRE(counter.GeneratePreview());
REQUIRE(!counter.GeneratePreview()); // immediately after not
REQUIRE(!counter.GeneratePreview()); // immediately after not
REQUIRE(!counter.GeneratePreview()); // immediately after not
std::this_thread::sleep_for(std::chrono::seconds(1));
REQUIRE(counter.GeneratePreview());
REQUIRE(!counter.GeneratePreview()); // immediately after not
}
TEST_CASE("PreviewCount_Off", "") {
PreviewCounter counter(std::chrono::seconds(0));
REQUIRE(!counter.GeneratePreview()); // at first run it should generate preview
std::this_thread::sleep_for(std::chrono::seconds(1));
REQUIRE(!counter.GeneratePreview());
REQUIRE(!counter.GeneratePreview()); // immediately after not
REQUIRE(!counter.GeneratePreview()); // immediately after not
REQUIRE(!counter.GeneratePreview()); // immediately after not
}