// Copyright (2019-2023) Paul Scherrer Institute #include #include #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 }