PhoenixMock  1.8.7
Tools to split/merge/print mock used in Phoenix
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_size.h"
11 #include "data_message.h"
12 
14 
18 template<typename T>
19 bool testSimpleTableMessage(const std::string & typeNameStr, size_t nbElement){
20  T * tabData = new T[nbElement];
21  for(size_t i(0lu); i < nbElement; ++i){
22  tabData[i] = 2lu*i + 1u;
23  }
24  std::vector<char> messageData(data_size(tabData, nbElement));
25  char* iterMsg = (char*)messageData.data();
26  bool b(true);
27  b &= data_message_save(iterMsg, tabData, nbElement); //Save the message
28 
29  T * tabLoadedData = new T[nbElement];
30  char* loadIterMsg = (char*)messageData.data();
31  b &= data_message_load(loadIterMsg, tabLoadedData, nbElement); //Load the message
32 
33  std::stringstream str;
34  str << nbElement;
35  return checkValue(typeNameStr + "("+str.str()+")", tabLoadedData, tabData, nbElement);
36 }
37 
39 
44 template<typename T>
45 bool testMultiSimpleTableMessage(const std::string & typeNameStr, size_t nbElementMin, size_t nbElementMax){
46  bool b(true);
47  for(size_t i(nbElementMin); i < nbElementMax && b; ++i){
48  b &= testSimpleTableMessage<T>(typeNameStr, i);
49  }
50  return b;
51 }
52 
55  data_stream_assert(testMultiSimpleTableMessage<bool>("bool", 2lu, 100lu));
56  data_stream_assert(testMultiSimpleTableMessage<char>("char", 2lu, 100lu));
57  data_stream_assert(testMultiSimpleTableMessage<short>("short", 2lu, 100lu));
58  data_stream_assert(testMultiSimpleTableMessage<int>("int", 2lu, 100lu));
59  data_stream_assert(testMultiSimpleTableMessage<long int>("long int", 2lu, 100lu));
60  data_stream_assert(testMultiSimpleTableMessage<unsigned char>("unsigned char", 2lu, 100lu));
61  data_stream_assert(testMultiSimpleTableMessage<unsigned short>("unsigned short", 2lu, 100lu));
62  data_stream_assert(testMultiSimpleTableMessage<unsigned int>("unsigned int", 2lu, 100lu));
63  data_stream_assert(testMultiSimpleTableMessage<long unsigned int>("long unsigned int", 2lu, 100lu));
64  data_stream_assert(testMultiSimpleTableMessage<float>("float", 2lu, 100lu));
65  data_stream_assert(testMultiSimpleTableMessage<double>("double", 2lu, 100lu));
66 }
67 
68 int main(int argc, char** argv){
70  return 0;
71 }
72 
data_message.h
data_stream_assert
#define data_stream_assert(isOk)
Definition: data_stream_assert.h:17
data_stream_assert.h
testSimpleTableMessage
bool testSimpleTableMessage(const std::string &typeNameStr, size_t nbElement)
Test the serialisation/deserialisation of table of data in message.
Definition: main.cpp:19
data_size
size_t data_size(T &data)
Get size of data.
Definition: data_size.h:17
checkValue
bool checkValue(const std::string &testName, size_t givenSize, size_t referenceSize)
Check given value compare to the reference size.
Definition: main.cpp:16
data_stream_check_value.h
testMultiSimpleTableMessage
bool testMultiSimpleTableMessage(const std::string &typeNameStr, size_t nbElementMin, size_t nbElementMax)
Test the serialisation/deserialisation of table of data in message.
Definition: main.cpp:45
data_message_save
bool data_message_save(Stream &iter, T &data)
Save data in a message.
Definition: data_message.h:18
createReleaseCurl.str
str
Definition: createReleaseCurl.py:128
data_size.h
data_message_load
bool data_message_load(char *&iter, T &data)
Load data from a message.
Definition: data_message.h:60
main
int main(int argc, char **argv)
Definition: main.cpp:85
testSimpleTableDataMessage
void testSimpleTableDataMessage()
Test if data size is Ok.
Definition: main.cpp:54