GCC Code Coverage Report


Directory: ./
File: tests/control/test_control_pd.cpp
Date: 2024-12-13 12:22:33
Exec Total Coverage
Lines: 31 31 100.0%
Branches: 88 176 50.0%

Line Branch Exec Source
1 /*
2 * Copyright 2019,
3 * Olivier Stasse,
4 *
5 * CNRS/AIST
6 *
7 */
8
9 #include <iostream>
10 #include <sot/core/debug.hh>
11
12 #ifndef WIN32
13 #include <unistd.h>
14 #endif
15
16 using namespace std;
17
18 #include <dynamic-graph/entity.h>
19 #include <dynamic-graph/factory.h>
20
21 #include <sot/core/control-pd.hh>
22 #include <sstream>
23
24 using namespace dynamicgraph;
25 using namespace dynamicgraph::sot;
26
27 #define BOOST_TEST_MODULE debug - control - pd
28
29 #include <boost/test/output_test_stream.hpp>
30 #include <boost/test/unit_test.hpp>
31
32
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(control_pd) {
33
3/6
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
2 sot::ControlPD *aControlPD = new ControlPD("acontrol_pd");
34
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->init(0.001);
35
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
4 std::istringstream Kpiss("[5](10.0,20.0,30.0,40.0,50.0)");
36
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
4 std::istringstream Kdiss("[5](0.10,0.20,0.30,0.40,0.50)");
37
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->KpSIN.set(Kpiss);
38
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->KdSIN.set(Kdiss);
39
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
4 std::istringstream posiss("[5](1.0,1.0,1.0,1.0,1.0)");
40
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->positionSIN.set(posiss);
41
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
4 std::istringstream dposiss("[5](3.0,3.1,3.2,3.3,3.4)");
42
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->desiredpositionSIN.set(dposiss);
43
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
4 std::istringstream veliss("[5](0.0,0.0,0.0,0.0,0.0)");
44
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->velocitySIN.set(veliss);
45
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
4 std::istringstream dveliss("[5](1.5,1.4,1.3,1.2,1.1)");
46
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->desiredvelocitySIN.set(dveliss);
47
48
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->controlSOUT.recompute(0);
49
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->positionErrorSOUT.recompute(0);
50
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->velocityErrorSOUT.recompute(0);
51 {
52
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 boost::test_tools::output_test_stream output;
53
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->controlSOUT.get(output);
54
7/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
2 BOOST_CHECK(output.is_equal("20.15 42.28 66.39 92.48 120.55"));
55 2 }
56 {
57
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 boost::test_tools::output_test_stream output;
58
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->positionErrorSOUT.get(output);
59
7/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
2 BOOST_CHECK(output.is_equal("2 2.1 2.2 2.3 2.4"));
60 2 }
61 {
62
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 boost::test_tools::output_test_stream output;
63
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 aControlPD->velocityErrorSOUT.get(output);
64
7/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
2 BOOST_CHECK(output.is_equal("1.5 1.4 1.3 1.2 1.1"));
65 2 }
66 2 }
67