This example shows and tests features of the new Nemesys 4 pumps.
#include <chrono>
#include <vector>
#include <labbcan/common/labbcan_test_helpers.h>
#include <usl/core/Thread.h>
#include <usl/core/PollingTimer.h>
#include <usl/math/uslmath.h>
#include <log4cplus/logger.h>
#include <diag/diag.h>
using namespace Usl;
#define BOOST_TEST_MODULE capi_nemesys4_test
#include <boost/test/unit_test.hpp>
using namespace boost::unit_test;
struct ArgsFixture {
ArgsFixture(): argc(framework::master_test_suite().argc),
argv(framework::master_test_suite().argv){}
int argc;
char **argv;
};
BOOST_GLOBAL_FIXTURE( ArgsFixture );
long Result;
BOOST_FIXTURE_TEST_CASE(testCapiOpen, ArgsFixture)
{
using namespace boost::unit_test;
const char* ConfigPath = "config/testconfig_qmixsdk";
if (argc > 1)
{
ConfigPath = argv[1];
}
CAPI_REQUIRE_ERR_NOERR(Result);
}
BOOST_AUTO_TEST_CASE(testDeviceNameLookup)
{
CAPI_REQUIRE_ERR_NOERR(Result);
}
BOOST_AUTO_TEST_CASE(testBusStart)
{
Result =
LCB_Log(
"C-API Log Test Message");
}
BOOST_AUTO_TEST_CASE(testPumpEnable)
{
BOOST_CHECK_GT(Result, -1);
if (Result)
{
}
CThread::sleep(500);
BOOST_CHECK_GT(Result, 0);
}
BOOST_AUTO_TEST_CASE(testCalibration)
{
CAPI_REQUIRE_ERR_NOERR(Result);
BOOST_REQUIRE_EQUAL(1, Result);
char ExtendedError[128];
BOOST_TEST_MESSAGE("Error: " << ExtendedError);
BOOST_TEST_MESSAGE("Error: " << ExtendedError);
}
BOOST_AUTO_TEST_CASE(testValve)
{
CAPI_REQUIRE_ERR_NOERR(Result);
BOOST_REQUIRE_EQUAL(1, Result);
CAPI_REQUIRE_ERR_NOERR(Result);
BOOST_REQUIRE_EQUAL(NumberOfValvePositions, 4);
BOOST_TEST_MESSAGE("Number of valve positions: " << NumberOfValvePositions);
BOOST_REQUIRE_GE(CurrentValvePosition, 0);
for (int i = 0; i < NumberOfValvePositions; ++i)
{
CThread::sleep(1000);
}
}
BOOST_AUTO_TEST_CASE(testCapiClose)
{
}