GCC Code Coverage Report | |||||||||||||||||||||
|
|||||||||||||||||||||
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/filter-differentiator.hh> |
||
22 |
#include <sstream> |
||
23 |
|||
24 |
using namespace dynamicgraph; |
||
25 |
using namespace dynamicgraph::sot; |
||
26 |
|||
27 |
#define BOOST_TEST_MODULE test - filter - differentiator |
||
28 |
|||
29 |
#include <boost/test/output_test_stream.hpp> |
||
30 |
#include <boost/test/unit_test.hpp> |
||
31 |
|||
32 |
using boost::test_tools::output_test_stream; |
||
33 |
|||
34 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗ |
4 |
BOOST_AUTO_TEST_CASE(test_filter_differentiator) { |
35 |
sot::FilterDifferentiator *aFilterDiff = |
||
36 |
✓✗✓✗ ✓✗ |
2 |
new FilterDifferentiator("filter_differentiator"); |
37 |
|||
38 |
✓✗✓✗ |
4 |
Eigen::VectorXd filter_num(7), filter_den(7); |
39 |
|||
40 |
✓✗ | 2 |
filter_num(0) = 2.16439898e-05; |
41 |
✓✗ | 2 |
filter_num(1) = 4.43473520e-05; |
42 |
✓✗ | 2 |
filter_num(2) = -1.74065002e-05; |
43 |
✓✗ | 2 |
filter_num(3) = -8.02197247e-05; |
44 |
✓✗ | 2 |
filter_num(4) = -1.74065002e-05; |
45 |
✓✗ | 2 |
filter_num(5) = 4.43473520e-05; |
46 |
✓✗ | 2 |
filter_num(6) = 2.16439898e-05; |
47 |
|||
48 |
✓✗ | 2 |
filter_den(0) = 1.; |
49 |
✓✗ | 2 |
filter_den(1) = -5.32595322; |
50 |
✓✗ | 2 |
filter_den(2) = 11.89749109; |
51 |
✓✗ | 2 |
filter_den(3) = -14.26803139; |
52 |
✓✗ | 2 |
filter_den(4) = 9.68705647; |
53 |
✓✗ | 2 |
filter_den(5) = -3.52968633; |
54 |
✓✗ | 2 |
filter_den(6) = 0.53914042; |
55 |
|||
56 |
2 |
double timestep = 0.001; |
|
57 |
2 |
int xSize = 16; |
|
58 |
✓✗ | 2 |
aFilterDiff->init(timestep, xSize, filter_num, filter_den); |
59 |
|||
60 |
2 |
srand(0); |
|
61 |
✓✗ | 4 |
dynamicgraph::Vector aVec(16); |
62 |
✓✓✓✗ |
34 |
for (unsigned int i = 0; i < 16; i++) aVec(i) = (double)(i + rand() % 100); |
63 |
✓✗ | 2 |
aFilterDiff->m_xSIN = aVec; |
64 |
✓✗ | 2 |
aFilterDiff->m_x_filteredSOUT.recompute(0); |
65 |
✓✗✓✗ |
4 |
output_test_stream output; |
66 |
✓✗ | 4 |
ostringstream anoss; |
67 |
✓✗ | 4 |
dynamicgraph::Vector outVec; |
68 |
✓✗ | 2 |
aFilterDiff->m_x_filteredSOUT.get(output); |
69 |
|||
70 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✓ |
2 |
BOOST_CHECK( |
71 |
output.is_equal("82.5614 " |
||
72 |
"86.5403 " |
||
73 |
"78.5826 " |
||
74 |
"17.9049 " |
||
75 |
"96.4874 " |
||
76 |
"39.7886 " |
||
77 |
"91.5139 " |
||
78 |
"98.4769 " |
||
79 |
"56.6988 " |
||
80 |
"29.8415 " |
||
81 |
"71.6195 " |
||
82 |
"37.7992 " |
||
83 |
"101.461 " |
||
84 |
"71.6195 " |
||
85 |
"76.5931 " |
||
86 |
"40.7834")); |
||
87 |
2 |
} |
Generated by: GCOVR (Version 4.2) |