Commit 9bec6be7 authored by Pavel Vainerman's avatar Pavel Vainerman

(IOBase): небольшой рефакторинг тестов для IOBase

parent 4b15d276
#include <catch.hpp>
// -----------------------------------------------------------------------------
#include "Exceptions.h"
#include "Extensions.h"
#include "UniXML.h"
#include "IOBase.h"
// -----------------------------------------------------------------------------
using namespace std;
using namespace UniSetTypes;
using namespace UniSetExtensions;
TEST_CASE("IOBase","[iobase][extensions]")
// -----------------------------------------------------------------------------
TEST_CASE("IOBase default constructor","[iobase][extensions]")
{
CHECK( uniset_conf()!=nullptr );
SECTION("Default constructor (const data)")
{
IOBase ib;
CHECK( ib.si.id == DefaultObjectId );
CHECK( ib.si.node == DefaultObjectId );
......@@ -55,7 +53,11 @@ TEST_CASE("IOBase","[iobase][extensions]")
REQUIRE( ib.front_type == IOBase::ftUnknown );
CHECK_FALSE( ib.front_prev_state );
CHECK_FALSE( ib.front_state );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("IOBase Init from xml","[iobase][init][extensions]")
{
CHECK( uniset_conf()!=nullptr );
SECTION("Init from xml")
{
......@@ -105,9 +107,12 @@ TEST_CASE("IOBase","[iobase][extensions]")
CHECK( ib.cal.maxCal == 30 );
CHECK( ib.cdiagram != nullptr );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("IOBase: Debounce function","[iobase][debounce][extensions]")
{
CHECK( uniset_conf()!=nullptr );
SECTION("Debounce function")
{
IOBase ib;
ib.ptDebounce.setTiming(100);
// Проверка установки сигнала (с дребезгом)
......@@ -146,7 +151,11 @@ TEST_CASE("IOBase","[iobase][extensions]")
CHECK_FALSE( ib.check_debounce(false) );
msleep(90);
CHECK_FALSE( ib.check_debounce(false) );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("IOBase: delay function","[iobase][delay][extensions]")
{
CHECK( uniset_conf()!=nullptr );
SECTION("On delay..")
{
......@@ -199,6 +208,11 @@ TEST_CASE("IOBase","[iobase][extensions]")
msleep(40);
CHECK_FALSE( ib.check_off_delay(false) );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("IOBase: front function","[iobase][front][extensions]")
{
CHECK( uniset_conf()!=nullptr );
SECTION("Front '0-->1'")
{
......@@ -237,9 +251,12 @@ TEST_CASE("IOBase","[iobase][extensions]")
CHECK( ib.check_front(true) );
CHECK_FALSE( ib.check_front(false) );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("IOBase: channel break","[iobase][extensions]")
{
CHECK( uniset_conf()!=nullptr );
SECTION("'Channel break' function")
{
IOBase ib;
// просто проверка.. при отключнном breaklim.. (всегда FALSE)
CHECK_FALSE( ib.check_channel_break(100) );
......@@ -255,9 +272,8 @@ TEST_CASE("IOBase","[iobase][extensions]")
CHECK_FALSE( ib.check_channel_break(breakValue+1) );
CHECK_FALSE( ib.check_channel_break(breakValue) );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("IOBase with SM","[iobase][extensions]")
{
WARN("IOBase with SM not yet!");
......@@ -266,3 +282,4 @@ TEST_CASE("IOBase with SM","[iobase][extensions]")
// ioinvert
// precision
}
// -----------------------------------------------------------------------------
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