YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
rangefinder2D_nwc_yarp_test.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
7#include <yarp/os/Network.h>
11
12#include <catch2/catch_amalgamated.hpp>
13#include <harness.h>
14
15using namespace yarp::dev;
16using namespace yarp::sig;
17using namespace yarp::os;
18
19TEST_CASE("dev::rangefinder2D_nwc_yarp", "[yarp::dev]")
20{
21 YARP_REQUIRE_PLUGIN("fakeLaser", "device");
22 YARP_REQUIRE_PLUGIN("rangefinder2D_nws_yarp", "device");
23 YARP_REQUIRE_PLUGIN("rangefinder2D_nwc_yarp", "device");
24
25 Network::setLocalMode(true);
26
27 SECTION("Checking rangefinder2D_nwc_yarp device")
28 {
32 IRangefinder2D* irng = nullptr;
33
35 {
37 plas_cfg.put("device", "fakeLaser");
38 plas_cfg.put("test", "use_constant");
39 Property& cm_cfg = plas_cfg.addGroup("CONSTANT_MODE");
40 cm_cfg.put("const_distance", 0.5);
42 }
43 {
45 pnws_cfg.put("device", "rangefinder2D_nws_yarp");
46 pnws_cfg.put("period", 0.010);
47 pnws_cfg.put("name", "/laser");
49 }
50
51 //attach the nws to the fakelaser device
54 bool result_att = ww_nws->attach(&ddlas);
56
57 //wait some time
59
60 //create the client
61 {
63 pnwc_cfg.put("device", "rangefinder2D_nwc_yarp");
64 pnwc_cfg.put("local", "/local_laser");
65 pnwc_cfg.put("remote", "/laser");
67 }
68 REQUIRE(ddnwc.view(irng));
69
70 //execute tests
72
73 //Close all polydrivers and check
74 CHECK(ddnwc.close());
76 INFO("rangefinder2D_nwc_yarp closed");
77
78 CHECK(ddnws.close());
80 INFO("rangefinder2D_nws_yarp closed");
81
82 CHECK(ddlas.close());
84 INFO("fakeLaser closed");
85
86 INFO("Test complete");
87 }
88
89 Network::setLocalMode(false);
90}
A generic interface for planar laser range finders.
A container for a device driver.
Definition PolyDriver.h:23
Helper interface for an object that can wrap/or "attach" to a single other device.
A mini-server for performing network communication in the background.
void close() override
Stop port activity.
bool open(const std::string &name) override
Start port operation, with a specific name, with automatically-chosen network parameters.
A class for storing options and configuration information.
Definition Property.h:33
void exec_iRangefinder2D_test_1(IRangefinder2D *irf)
For streams capable of holding different kinds of content, check what they actually have.
void delay(double seconds)
Wait for a certain number of seconds.
Definition Time.cpp:111
An interface to the operating system, including Port based communication.
TEST_CASE("dev::rangefinder2D_nwc_yarp", "[yarp::dev]")
std::string INFO
Definition ymanager.cpp:51