Commit be0b5595 authored by Pavel Vainerman's avatar Pavel Vainerman

(tests): добавил тесты для класса Pulse

parent dd6efb4d
......@@ -33,7 +33,7 @@ class Pulse
inline void set_next( int _t1_msec, int _t0_msec )
{
t1_msec = _t1_msec;
t1_msec = _t1_msec;
t0_msec = _t0_msec;
}
......
......@@ -7,7 +7,7 @@ noinst_PROGRAMS = tests tests_with_conf
#umutex threadtst dlog
tests_SOURCES = tests.cc passivetimer.cc hourglass.cc delaytimer.cc unixml.cc sscanf_hex.cc \
callbacktimer.cc trigger.cc triggerOR.cc triggerAND.cc triggerOUT.cc
callbacktimer.cc trigger.cc triggerOR.cc triggerAND.cc triggerOUT.cc pulse.cc
tests_LDADD = $(top_builddir)/lib/libUniSet2.la $(SIGC_LIBS) $(COMCPP_LIBS)
tests_CPPFLAGS = -I$(top_builddir)/include -I$(includedir)/Catch $(SIGC_CFLAGS) $(COMCPP_CFLAGS)
......
#include <catch.hpp>
#include "Pulse.h"
#include "UniSetTypes.h"
using namespace std;
TEST_CASE("Pulse", "[Test for class 'Pulse' - impulse generator]" )
{
SECTION( "Default constructor" )
{
// Работа без задержки..(нулевые задержки)
Pulse p;
CHECK_FALSE( p.out() );
p.step();
p.step();
CHECK_FALSE( p.out() );
}
SECTION( "Working" )
{
Pulse p;
p.run(100,60); // 100 msec ON..60 msec OFF
CHECK( p.step() );
msleep(80);
CHECK( p.step() );
msleep(30);
CHECK_FALSE( p.step() );
msleep(70);
CHECK( p.step() );
msleep(100);
CHECK_FALSE( p.step() );
p.set(false);
msleep(100);
CHECK_FALSE( p.step() );
msleep(60);
CHECK_FALSE( p.step() );
p.set(true);
msleep(70);
CHECK( p.step() );
msleep(30);
CHECK_FALSE( p.step() );
p.reset();
CHECK( p.step() );
msleep(110);
CHECK_FALSE( p.step() );
}
}
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