Directory: | ./ |
---|---|
File: | tmp_project/PhoenixDataStream/TESTS/TEST_DATA_MESSAGE_SIMPLE_TYPE/main.cpp |
Date: | 2025-03-14 12:04:36 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 38 | 38 | 100.0% |
Branches: | 59 | 59 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /*************************************** | ||
2 | Auteur : Pierre Aubert | ||
3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
4 | Licence : CeCILL-C | ||
5 | ****************************************/ | ||
6 | |||
7 | #include "data_stream_assert.h" | ||
8 | #include "data_stream_check_value.h" | ||
9 | |||
10 | #include "data_all.h" | ||
11 | |||
12 | ///Check the sime data message of a given type | ||
13 | /** @param nameOfType : name of the type to be checked | ||
14 | * assert on fail | ||
15 | */ | ||
16 | template<typename T> | ||
17 | 24 | void checkSimpleDataMessage(const std::string & nameOfType){ | |
18 | 24 | T data(42lu); | |
19 |
2/2✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
|
24 | DataStreamMsg message(data_size(data)); |
20 | //Put data in message | ||
21 | 24 | DataStreamIter iter = (DataStreamIter)message.data(); | |
22 |
5/5✓ Branch 2 taken 12 times.
✓ Branch 6 taken 12 times.
✓ Branch 10 taken 12 times.
✓ Branch 13 taken 12 times.
✓ Branch 16 taken 12 times.
|
24 | data_stream_assert(data_message_save(iter, data)); //Save the message |
23 | 24 | DataStreamIter loadIter = (DataStreamIter)message.data(); | |
24 | 24 | T outData(0lu); | |
25 |
5/5✓ Branch 2 taken 12 times.
✓ Branch 6 taken 12 times.
✓ Branch 10 taken 12 times.
✓ Branch 13 taken 12 times.
✓ Branch 16 taken 12 times.
|
24 | data_stream_assert(data_message_load(loadIter, outData)); //Load the message |
26 |
5/5✓ Branch 2 taken 12 times.
✓ Branch 6 taken 12 times.
✓ Branch 10 taken 12 times.
✓ Branch 13 taken 12 times.
✓ Branch 16 taken 12 times.
|
24 | data_stream_assert(checkValue(nameOfType, data, outData)); |
27 | 24 | } | |
28 | |||
29 | ///Test if data size is Ok | ||
30 | 1 | void testSimpleDataMessage(){ | |
31 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<long unsigned int>("long unsigned int"); |
32 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<unsigned int>("unsigned int"); |
33 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<unsigned short>("unsigned short"); |
34 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<unsigned char>("unsigned char"); |
35 | |||
36 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<long int>("long int"); |
37 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<int>("int"); |
38 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<short>("short"); |
39 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<char>("char"); |
40 | |||
41 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<int8_t>("int8_t"); |
42 | |||
43 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<bool>("bool"); |
44 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<float>("float"); |
45 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | checkSimpleDataMessage<double>("double"); |
46 | 1 | } | |
47 | |||
48 | ///Test if data size is Ok | ||
49 | 1 | void testStringDataMessage(){ | |
50 |
1/1✓ Branch 2 taken 1 times.
|
1 | std::string str("One thing to say"); |
51 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | DataStreamMsg messageStr(data_size(str)); |
52 | 1 | DataStreamIter iterStr = (DataStreamIter)messageStr.data(); | |
53 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | data_stream_assert(data_message_save(iterStr, str)); //Save the message |
54 |
1/1✓ Branch 2 taken 1 times.
|
1 | std::string outStr(""); |
55 | 1 | DataStreamIter loadIterStr = (DataStreamIter)messageStr.data(); | |
56 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | data_stream_assert(data_message_load(loadIterStr, outStr)); //Load the message |
57 | |||
58 | // std::cout << "testStringDataMessage : outStr("<<outStr<<"), str("<<str<<")" << std::endl; | ||
59 |
4/4✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
|
1 | data_stream_assert(str == outStr); |
60 | 1 | } | |
61 | |||
62 | 1 | int main(int argc, char** argv){ | |
63 | 1 | testSimpleDataMessage(); | |
64 | 1 | testStringDataMessage(); | |
65 | 1 | return 0; | |
66 | } | ||
67 | |||
68 |