PhoenixLecture  2.0.0
Set of tools to make lectures
main.cpp
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 #include "data_stream_assert.h"
9 
10 #include "data_all.h"
11 
13 
16 template<typename T>
17 void checkSimpleDataMessage(const std::string & nameOfType){
18  T data(42lu);
19  DataStreamMsg message(data_size(data));
20  //Put data in message
21  DataStreamIter iter = (DataStreamIter)message.data();
22  data_stream_assert(data_message_save(iter, data)); //Save the message
23  DataStreamIter loadIter = (DataStreamIter)message.data();
24  T outData(0lu);
25  data_stream_assert(data_message_load(loadIter, outData)); //Load the message
26  data_stream_assert(checkValue(nameOfType, data, outData));
27 }
28 
31  checkSimpleDataMessage<long unsigned int>("long unsigned int");
32  checkSimpleDataMessage<unsigned int>("unsigned int");
33  checkSimpleDataMessage<unsigned short>("unsigned short");
34  checkSimpleDataMessage<unsigned char>("unsigned char");
35 
36  checkSimpleDataMessage<long int>("long int");
37  checkSimpleDataMessage<int>("int");
38  checkSimpleDataMessage<short>("short");
39  checkSimpleDataMessage<char>("char");
40 
41  checkSimpleDataMessage<int8_t>("int8_t");
42 
43  checkSimpleDataMessage<bool>("bool");
44  checkSimpleDataMessage<float>("float");
45  checkSimpleDataMessage<double>("double");
46 }
47 
50  std::string str("One thing to say");
51  DataStreamMsg messageStr(data_size(str));
52  DataStreamIter iterStr = (DataStreamIter)messageStr.data();
53  data_stream_assert(data_message_save(iterStr, str)); //Save the message
54  std::string outStr("");
55  DataStreamIter loadIterStr = (DataStreamIter)messageStr.data();
56  data_stream_assert(data_message_load(loadIterStr, outStr)); //Load the message
57 
58 // std::cout << "testStringDataMessage : outStr("<<outStr<<"), str("<<str<<")" << std::endl;
59  data_stream_assert(str == outStr);
60 }
61 
62 int main(int argc, char** argv){
65  return 0;
66 }
67 
int main(int argc, char **argv)
Definition: main.cpp:228
void testStringDataMessage()
Test if data size is Ok.
Definition: main.cpp:49
void testSimpleDataMessage()
Test if data size is Ok.
Definition: main.cpp:30
void checkSimpleDataMessage(const std::string &nameOfType)
Check the sime data message of a given type.
Definition: main.cpp:17
bool data_message_save(DataStreamIter &iter, T &data)
Save data in a message.
Definition: data_message.h:18
bool data_message_load(DataStreamIter &iter, T &data)
Load data from a message.
Definition: data_message.h:60
size_t data_size(T &data)
Get size of data.
Definition: data_size.h:17
#define data_stream_assert(isOk)
bool checkValue(const std::string &testName, const T &givenSize, const T &referenceSize)
Check given value compare to the reference value.
std::vector< DataStreamType > DataStreamMsg
DataStreamType * DataStreamIter