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

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

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