PhoenixDataStream  1.0.0
Framework to save/load/serialize/deserialize data
Loading...
Searching...
No Matches
data_stream_check_value_impl.h
Go to the documentation of this file.
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
11
13
18template<typename T>
19bool checkValue(const std::string & testName, const T & givenSize, const T & referenceSize){
20// std::cout << "checkValue : "<<testName<<" => " << givenSize << ", reference ("<<referenceSize<<")" << std::endl;
21 if(givenSize != referenceSize){
22 std::cerr << "checkValue : "<<testName<<" wrong size givenSize("<<givenSize<<") != referenceSize("<<referenceSize<<")" << std::endl;
23 }
24 return givenSize == referenceSize;
25}
26
28
34template<typename T>
35bool checkValue(const std::string & testName, const T * tabData, const T * tabReferenceData, size_t nbElement){
36 bool b(true);
37 for(size_t i(0lu); i < nbElement && b; ++i){
38 std::stringstream str;
39 str << i;
40 b &= checkValue(testName + " element "+str.str(), tabData[i], tabReferenceData[i]);
41 }
42 return b;
43}
44
46
51template<typename T>
52bool checkValue(const std::string & testName, const std::vector<T> & vecData, const std::vector<T> & vecReferenceData){
53 if(vecData.size() != vecReferenceData.size()){
54 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
55 return false;
56 }
57 bool b(true);
58 for(size_t i(0lu); i < vecData.size() && b; ++i){
59 b &= vecData[i] == vecReferenceData[i];
60 if(!b){
61 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 return b;
67}
68
70
75template<typename T>
76bool checkValue(const std::string & testName, const std::list<T> & vecData, const std::list<T> & vecReferenceData){
77 if(vecData.size() != vecReferenceData.size()){
78 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
79 return false;
80 }
81 bool b(true);
82 typename std::list<T>::const_iterator itData = vecData.begin();
83 typename std::list<T>::const_iterator itRef = vecReferenceData.begin();
84 size_t i(0lu);
85 while(itData != vecData.end() && itRef != vecReferenceData.end()){
86 b &= *itData == *itRef;
87 if(!b){
88 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << (*itData) << ") != vecReferenceData["<<i<<"]("<<(*itRef)<<")" << std::endl;
89 }
90 ++i;
91 ++itData;
92 ++itRef;
93 }
94// if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
95// else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
96 return b;
97}
98
100
105template<typename T, typename U>
106bool checkValue(const std::string & testName, const std::map<T, U> & vecData, const std::map<T, U> & vecReferenceData){
107 if(vecData.size() != vecReferenceData.size()){
108 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
109 return false;
110 }
111 bool b(true);
112 typename std::map<T,U>::const_iterator itData = vecData.begin();
113 typename std::map<T, U>::const_iterator itRef = vecReferenceData.begin();
114 size_t i(0lu);
115 while(itData != vecData.end() && itRef != vecReferenceData.end()){
116 b &= itData->first == itRef->first;
117 b &= itData->second == itRef->second;
118 if(!b){
119 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << itData->first << ", " << itData->second << ") != vecReferenceData["<<i<<"]("<<itRef->first << "," << itRef->second<<")" << std::endl;
120 }
121 ++i;
122 ++itData;
123 ++itRef;
124 }
125// if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
126// else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
127 return b;
128}
129
131
136template<typename T, typename U>
137bool checkValue(const std::string & testName, const std::vector<std::pair<T, U> > & vecData, const std::vector<std::pair<T, U> > & vecReferenceData){
138 if(vecData.size() != vecReferenceData.size()){
139 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
140 return false;
141 }
142 bool b(true);
143 for(size_t i(0lu); i < vecData.size() && b; ++i){
144 b &= vecData[i].first == vecReferenceData[i].first;
145 b &= vecData[i].second == vecReferenceData[i].second;
146 if(!b){
147 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 return b;
153}
154
156
161template<typename T, typename U>
162bool checkValue(const std::string & testName, const std::list<std::pair<T, U> > & vecData, const std::list<std::pair<T, U> > & vecReferenceData){
163 if(vecData.size() != vecReferenceData.size()){
164 std::cout << "checkValue : "<<testName<<" => vecData.size(" << vecData.size() << ") != vecReferenceData.size("<<vecReferenceData.size()<<")" << std::endl;
165 return false;
166 }
167 bool b(true);
168 typename std::list<std::pair<T,U> >::const_iterator itData = vecData.begin();
169 typename std::list<std::pair<T,U> >::const_iterator itRef = vecReferenceData.begin();
170 size_t i(0lu);
171 while(itData != vecData.end() && itRef != vecReferenceData.end()){
172 b &= itData->first == itRef->first;
173 b &= itData->second == itRef->second;
174 if(!b){
175 std::cout << "checkValue : "<<testName<<" => vecData["<<i<<"](" << itData->first << ", " << itData->second << ") != vecReferenceData["<<i<<"]("<<itRef->first << ","<<itRef->second <<")" << std::endl;
176 }
177 ++i;
178 ++itData;
179 ++itRef;
180 }
181// if(b){std::cout << "checkValue : "<<testName<<" => Ok"<<std::endl;}
182// else{std::cout << "checkValue : "<<testName<<" => WRONG!!!!"<<std::endl;}
183 return b;
184}
185
186#endif
187
bool checkValue(const std::string &testName, const T &givenSize, const T &referenceSize)
Check given value compare to the reference value.