YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
odometry2D_nwc_yarp_test.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025-2025 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::os;
17
18TEST_CASE("dev::odometry2D_nwc_yarp", "[yarp::dev]")
19{
20 YARP_REQUIRE_PLUGIN("fakeOdometry2D", "device");
21 YARP_REQUIRE_PLUGIN("odometry2D_nws_yarp", "device");
22 YARP_REQUIRE_PLUGIN("odometry2D_nwc_yarp", "device");
23
24 Network::setLocalMode(true);
25
26 SECTION("Checking odometry2D_nwc_yarp device")
27 {
31 Nav2D::IOdometry2D* iodom = nullptr;
32
34 {
36 plas_cfg.put("device", "fakeOdometry2D");
38 }
39 {
41 pnws_cfg.put("device", "odometry2D_nws_yarp");
42 pnws_cfg.put("period", 0.010);
43 pnws_cfg.put("name", "/odom");
45 }
46
47 //attach the nws to the fakeOdometry2D device
50 bool result_att = ww_nws->attach(&ddlas);
52
53 //wait some time
55
56 //create the client
57 {
59 pnwc_cfg.put("device", "odometry2D_nwc_yarp");
60 pnwc_cfg.put("local", "/local_odom");
61 pnwc_cfg.put("remote", "/odom");
63 }
64 REQUIRE(ddnwc.view(iodom));
65
66 //execute tests
68
69 //Close all polydrivers and check
70 CHECK(ddnwc.close());
72 INFO("odometry2D_nwc_yarp closed");
73
74 CHECK(ddnws.close());
76 INFO("odometry2D_nws_yarp closed");
77
78 CHECK(ddlas.close());
80 INFO("fakeOdometry2D closed");
81
82 INFO("Test complete");
83 }
84
85 Network::setLocalMode(false);
86}
IOdometry2D interface.
Definition IOdometry2D.h:23
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_iOdometry2D_test_1(yarp::dev::Nav2D::IOdometry2D *iodom)
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::odometry2D_nwc_yarp", "[yarp::dev]")
std::string INFO
Definition ymanager.cpp:51