Commit 21849ef5 authored by Pavel Vainerman's avatar Pavel Vainerman

(PassiveTimer): небольшая корректировка

parent 5928091b
......@@ -86,6 +86,8 @@ namespace uniset
* можно с помощью checkTime проверять, не наступило ли нужное время
* \note Если t_msec==WaitUpTime, таймер никогда не сработает
* \note t_msec=0 - таймер сработает сразу
* \todo Можно оптимизировать вызовы проверки таймера, если ввести внутренний флаг, что он уже сработал
* но ещё не был заново переустановлен.
*/
class PassiveTimer:
public UniSetTimer
......
......@@ -63,7 +63,7 @@ namespace uniset
// не знаю как по другому
// приходиться делать это через промежуточную переменную
std::chrono::milliseconds ms(msec);
t_inner_msec = std::move(ms);
std::swap(t_inner_msec,ms);
PassiveTimer::reset();
return getInterval();
......
......@@ -199,6 +199,15 @@ TEST_CASE("[DelayTimer]: zero time", "[DelayTimer]" )
msleep(100);
REQUIRE( pt.getCurrent() >= 2000 );
// проверка работы при вызове check()
// уже после срабатывания таймера
dt.set(0,100);
REQUIRE( dt.check(true) ); // взводим
REQUIRE( dt.check(false) ); // отпускаем..
msleep(150);
REQUIRE_FALSE( dt.check(false) ); // к этому моменту уже должен отпустить
}
}
// -----------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment