GCC Code Coverage Report


Directory: ./
File: src/data_stream_check_value_impl.h
Date: 2026-01-15 15:51:44
Exec Total Coverage
Lines: 82 82 100.0%
Functions: 481 481 100.0%
Branches: 125 130 96.2%

Line Branch Exec Source
1 /***************************************
2 Auteur : Pierre Aubert
3 Mail : pierre.aubert@lapp.in2p3.fr
4 Licence : CeCILL-C
5 ****************************************/
6
7 #ifndef __DATA_STREAM_CHECK_VALUE_IMPL_H__
8 #define __DATA_STREAM_CHECK_VALUE_IMPL_H__
9
10 #include "data_stream_check_value.h"
11
12 ///Check given value compare to the reference value
13 /** @param testName : name of the current test
14 * @param givenSize : size to be tested
15 * @param referenceSize : reference value
16 * @return true on success, false otherwise
17 */
18 template<typename T>
19 119357 bool checkValue(const std::string & testName, const T & givenSize, const T & referenceSize){
20 // std::cout << "checkValue : "<<testName<<" => " << givenSize << ", reference ("<<referenceSize<<")" << std::endl;
21
2/2
✓ Branch 0 (2→3) taken 1 times.
✓ Branch 1 (2→11) taken 119356 times.
119357 if(givenSize != referenceSize){
22 1 std::cerr << "checkValue : "<<testName<<" wrong size givenSize("<<givenSize<<") != referenceSize("<<referenceSize<<")" << std::endl;
23 }
24 119357 return givenSize == referenceSize;
25 }
26
27 ///Check given value compare to the reference value
28 /** @param testName : name of the current test
29 * @param tabData : table of values to be tested
30 * @param tabReferenceData : table of reference value
31 * @param nbElement : number of elements to be checked
32 * @return true on success, false otherwise
33 */
34 template<typename T>
35 2354 bool checkValue(const std::string & testName, const T * tabData, const T * tabReferenceData, size_t nbElement){
36 2354 bool b(true);
37
4/4
✓ Branch 0 (14→15) taken 118782 times.
✓ Branch 1 (14→16) taken 2353 times.
✓ Branch 2 (15→3) taken 118781 times.
✓ Branch 3 (15→16) taken 1 times.
121135 for(size_t i(0lu); i < nbElement && b; ++i){
38
1/1
✓ Branch 0 (3→4) taken 118781 times.
118781 std::stringstream str;
39
1/1
✓ Branch 0 (4→5) taken 118781 times.
118781 str << i;
40
4/4
✓ Branch 0 (5→6) taken 118781 times.
✓ Branch 2 (6→7) taken 118781 times.
✓ Branch 4 (7→8) taken 118781 times.
✓ Branch 6 (8→9) taken 118781 times.
118781 b &= checkValue(testName + " element "+str.str(), tabData[i], tabReferenceData[i]);
41 }
42 2354 return b;
43 }
44
45 ///Check given value compare to the reference size
46 /** @param testName : name of the current test
47 * @param vecData : vector of data to be checked
48 * @param vecReferenceData : vector of reference data
49 * @return true on success, false otherwise
50 */
51 template<typename T>
52 27 bool checkValue(const std::string & testName, const std::vector<T> & vecData, const std::vector<T> & vecReferenceData){
53
2/2
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 1 (4→16) taken 26 times.
27 if(vecData.size() != vecReferenceData.size()){
54 1 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
55 1 return false;
56 }
57 26 bool b(true);
58
5/6
✓ Branch 0 (36→37) taken 244 times.
✓ Branch 1 (36→39) taken 26 times.
✓ Branch 2 (37→38) taken 244 times.
✗ Branch 3 (37→39) not taken.
✓ Branch 4 (40→17) taken 244 times.
✓ Branch 5 (40→41) taken 26 times.
270 for(size_t i(0lu); i < vecData.size() && b; ++i){
59 244 b &= vecData[i] == vecReferenceData[i];
60
2/2
✓ Branch 0 (19→20) taken 1 times.
✓ Branch 1 (19→34) taken 243 times.
244 if(!b){
61 1 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << vecData[i] << ") != vecReferenceData["<<i<<"]("<<vecReferenceData[i]<<")" << std::endl;
62 }
63 }
64 // if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
65 // else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
66 26 return b;
67 }
68
69 ///Check given value compare to the reference size
70 /** @param testName : name of the current test
71 * @param vecData : vector of data to be checked
72 * @param vecReferenceData : vector of reference data
73 * @return true on success, false otherwise
74 */
75 template<typename T>
76 28 bool checkValue(const std::string & testName, const std::list<T> & vecData, const std::list<T> & vecReferenceData){
77
2/2
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 1 (4→16) taken 27 times.
28 if(vecData.size() != vecReferenceData.size()){
78
8/8
✓ Branch 0 (5→6) taken 1 times.
✓ Branch 2 (6→7) taken 1 times.
✓ Branch 4 (7→8) taken 1 times.
✓ Branch 6 (9→10) taken 1 times.
✓ Branch 8 (10→11) taken 1 times.
✓ Branch 10 (12→13) taken 1 times.
✓ Branch 12 (13→14) taken 1 times.
✓ Branch 14 (14→15) taken 1 times.
1 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
79 1 return false;
80 }
81 27 bool b(true);
82 27 typename std::list<T>::const_iterator itData = vecData.begin();
83 27 typename std::list<T>::const_iterator itRef = vecReferenceData.begin();
84 27 size_t i(0lu);
85
5/6
✓ Branch 0 (40→41) taken 254 times.
✓ Branch 1 (40→45) taken 27 times.
✓ Branch 2 (43→44) taken 254 times.
✗ Branch 3 (43→45) not taken.
✓ Branch 4 (46→19) taken 254 times.
✓ Branch 5 (46→47) taken 27 times.
281 while(itData != vecData.end() && itRef != vecReferenceData.end()){
86 254 b &= *itData == *itRef;
87
2/2
✓ Branch 0 (21→22) taken 1 times.
✓ Branch 1 (21→36) taken 253 times.
254 if(!b){
88
12/12
✓ Branch 0 (22→23) taken 1 times.
✓ Branch 2 (23→24) taken 1 times.
✓ Branch 4 (24→25) taken 1 times.
✓ Branch 6 (25→26) taken 1 times.
✓ Branch 8 (26→27) taken 1 times.
✓ Branch 10 (28→29) taken 1 times.
✓ Branch 12 (29→30) taken 1 times.
✓ Branch 14 (30→31) taken 1 times.
✓ Branch 16 (31→32) taken 1 times.
✓ Branch 18 (33→34) taken 1 times.
✓ Branch 20 (34→35) taken 1 times.
✓ Branch 22 (35→36) taken 1 times.
1 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << (*itData) << ") != vecReferenceData["<<i<<"]("<<(*itRef)<<")" << std::endl;
89 }
90 254 ++i;
91 254 ++itData;
92 254 ++itRef;
93 }
94 // if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
95 // else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
96 27 return b;
97 }
98
99 ///Check given value compare to the reference size
100 /** @param testName : name of the current test
101 * @param vecData : vector of data to be checked
102 * @param vecReferenceData : vector of reference data
103 * @return true on success, false otherwise
104 */
105 template<typename T, typename U>
106 160 bool checkValue(const std::string & testName, const std::map<T, U> & vecData, const std::map<T, U> & vecReferenceData){
107
2/2
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 1 (4→16) taken 159 times.
160 if(vecData.size() != vecReferenceData.size()){
108
8/8
✓ Branch 0 (5→6) taken 1 times.
✓ Branch 2 (6→7) taken 1 times.
✓ Branch 4 (7→8) taken 1 times.
✓ Branch 6 (9→10) taken 1 times.
✓ Branch 8 (10→11) taken 1 times.
✓ Branch 10 (12→13) taken 1 times.
✓ Branch 12 (13→14) taken 1 times.
✓ Branch 14 (14→15) taken 1 times.
1 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
109 1 return false;
110 }
111 159 bool b(true);
112 159 typename std::map<T,U>::const_iterator itData = vecData.begin();
113 159 typename std::map<T, U>::const_iterator itRef = vecReferenceData.begin();
114 159 size_t i(0lu);
115
5/6
✓ Branch 0 (48→49) taken 1478 times.
✓ Branch 1 (48→53) taken 159 times.
✓ Branch 2 (51→52) taken 1478 times.
✗ Branch 3 (51→53) not taken.
✓ Branch 4 (54→19) taken 1478 times.
✓ Branch 5 (54→55) taken 159 times.
1637 while(itData != vecData.end() && itRef != vecReferenceData.end()){
116 1478 b &= itData->first == itRef->first;
117 1478 b &= itData->second == itRef->second;
118
2/2
✓ Branch 0 (23→24) taken 2 times.
✓ Branch 1 (23→44) taken 1476 times.
1478 if(!b){
119
16/16
✓ Branch 0 (24→25) taken 2 times.
✓ Branch 2 (25→26) taken 2 times.
✓ Branch 4 (26→27) taken 2 times.
✓ Branch 6 (27→28) taken 2 times.
✓ Branch 8 (28→29) taken 2 times.
✓ Branch 10 (30→31) taken 2 times.
✓ Branch 12 (31→32) taken 2 times.
✓ Branch 14 (33→34) taken 2 times.
✓ Branch 16 (34→35) taken 2 times.
✓ Branch 18 (35→36) taken 2 times.
✓ Branch 20 (36→37) taken 2 times.
✓ Branch 22 (38→39) taken 2 times.
✓ Branch 24 (39→40) taken 2 times.
✓ Branch 26 (41→42) taken 2 times.
✓ Branch 28 (42→43) taken 2 times.
✓ Branch 30 (43→44) taken 2 times.
2 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << itData->first << ", " << itData->second << ") != vecReferenceData["<<i<<"]("<<itRef->first << "," << itRef->second<<")" << std::endl;
120 }
121 1478 ++i;
122 1478 ++itData;
123 1478 ++itRef;
124 }
125 // if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
126 // else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
127 159 return b;
128 }
129
130 ///Check given value compare to the reference size
131 /** @param testName : name of the current test
132 * @param vecData : vector of data to be checked
133 * @param vecReferenceData : vector of reference data
134 * @return true on success, false otherwise
135 */
136 template<typename T, typename U>
137 160 bool checkValue(const std::string & testName, const std::vector<std::pair<T, U> > & vecData, const std::vector<std::pair<T, U> > & vecReferenceData){
138
2/2
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 1 (4→16) taken 159 times.
160 if(vecData.size() != vecReferenceData.size()){
139 1 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
140 1 return false;
141 }
142 159 bool b(true);
143
5/6
✓ Branch 0 (44→45) taken 1574 times.
✓ Branch 1 (44→47) taken 159 times.
✓ Branch 2 (45→46) taken 1574 times.
✗ Branch 3 (45→47) not taken.
✓ Branch 4 (48→17) taken 1574 times.
✓ Branch 5 (48→49) taken 159 times.
1733 for(size_t i(0lu); i < vecData.size() && b; ++i){
144 1574 b &= vecData[i].first == vecReferenceData[i].first;
145 1574 b &= vecData[i].second == vecReferenceData[i].second;
146
2/2
✓ Branch 0 (21→22) taken 1 times.
✓ Branch 1 (21→42) taken 1573 times.
1574 if(!b){
147 1 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << vecData[i].first << ", " << vecData[i].second << ") != vecReferenceData["<<i<<"]("<<vecReferenceData[i].first << ","<<vecReferenceData[i].second <<")" << std::endl;
148 }
149 }
150 // if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
151 // else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
152 159 return b;
153 }
154
155 ///Check given value compare to the reference size
156 /** @param testName : name of the current test
157 * @param vecData : vector of data to be checked
158 * @param vecReferenceData : vector of reference data
159 * @return true on success, false otherwise
160 */
161 template<typename T, typename U>
162 160 bool checkValue(const std::string & testName, const std::list<std::pair<T, U> > & vecData, const std::list<std::pair<T, U> > & vecReferenceData){
163
2/2
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 1 (4→16) taken 159 times.
160 if(vecData.size() != vecReferenceData.size()){
164
8/8
✓ Branch 0 (5→6) taken 1 times.
✓ Branch 2 (6→7) taken 1 times.
✓ Branch 4 (7→8) taken 1 times.
✓ Branch 6 (9→10) taken 1 times.
✓ Branch 8 (10→11) taken 1 times.
✓ Branch 10 (12→13) taken 1 times.
✓ Branch 12 (13→14) taken 1 times.
✓ Branch 14 (14→15) taken 1 times.
1 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
165 1 return false;
166 }
167 159 bool b(true);
168 159 typename std::list<std::pair<T,U> >::const_iterator itData = vecData.begin();
169 159 typename std::list<std::pair<T,U> >::const_iterator itRef = vecReferenceData.begin();
170 159 size_t i(0lu);
171
5/6
✓ Branch 0 (48→49) taken 1574 times.
✓ Branch 1 (48→53) taken 159 times.
✓ Branch 2 (51→52) taken 1574 times.
✗ Branch 3 (51→53) not taken.
✓ Branch 4 (54→19) taken 1574 times.
✓ Branch 5 (54→55) taken 159 times.
1733 while(itData != vecData.end() && itRef != vecReferenceData.end()){
172 1574 b &= itData->first == itRef->first;
173 1574 b &= itData->second == itRef->second;
174
2/2
✓ Branch 0 (23→24) taken 1 times.
✓ Branch 1 (23→44) taken 1573 times.
1574 if(!b){
175
16/16
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (25→26) taken 1 times.
✓ Branch 4 (26→27) taken 1 times.
✓ Branch 6 (27→28) taken 1 times.
✓ Branch 8 (28→29) taken 1 times.
✓ Branch 10 (30→31) taken 1 times.
✓ Branch 12 (31→32) taken 1 times.
✓ Branch 14 (33→34) taken 1 times.
✓ Branch 16 (34→35) taken 1 times.
✓ Branch 18 (35→36) taken 1 times.
✓ Branch 20 (36→37) taken 1 times.
✓ Branch 22 (38→39) taken 1 times.
✓ Branch 24 (39→40) taken 1 times.
✓ Branch 26 (41→42) taken 1 times.
✓ Branch 28 (42→43) taken 1 times.
✓ Branch 30 (43→44) taken 1 times.
1 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << itData->first << ", " << itData->second << ") != vecReferenceData["<<i<<"]("<<itRef->first << ","<<itRef->second <<")" << std::endl;
176 }
177 1574 ++i;
178 1574 ++itData;
179 1574 ++itRef;
180 }
181 // if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
182 // else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
183 159 return b;
184 }
185
186 #endif
187
188