MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / valid

Function valid

tests/DCPS/PersistentInfoRepo/Subscriber.cpp:22–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20namespace {
21 typedef std::vector< ::Xyz::Foo> Messages;
22 bool valid(const Messages& msgs, const long stage, int& expected_count)
23 {
24 if (msgs.empty()) {
25 std::cerr << "ERROR: no messages received\n";
26 return false;
27 }
28 bool valid = true;
29 const size_t size = msgs.size();
30 expected_count = -1;
31 std::set<long> group1;
32 std::set<long> group2;
33 std::set<long> group3;
34 for(size_t index = 0; index < size; ++index) {
35 const ::Xyz::Foo& msg = msgs[index];
36 if (expected_count == -1) {
37 expected_count = msg.key;
38 }
39 else if (msg.key != expected_count) {
40 std::cerr << "ERROR: Stage " << stage << " key of " << msg.key
41 << " for message # " << index
42 << " does not match expected count of "
43 << expected_count << "\n";
44 valid = false;
45 }
46
47 if (msg.x == 1.0) {
48 if (!group1.insert((long)msg.c).second) {
49 std::cerr << "ERROR: Stage " << stage << " message # " << index
50 << " group1 repeated value for "
51 << (long)msg.c << "\n";
52 valid = false;
53 }
54 }
55 else if (msg.x == 2.0) {
56 if (!group2.insert((long)msg.c).second) {
57 std::cerr << "ERROR: Stage " << stage << " message # " << index
58 << " group2 repeated value for "
59 << (long)msg.c << "\n";
60 valid = false;
61 }
62 }
63 else if (msg.x == 3.0) {
64 if (!group3.insert((long)msg.c).second) {
65 std::cerr << "ERROR: Stage " << stage << " message # " << index
66 << " group3 repeated value for "
67 << (long)msg.c << "\n";
68 valid = false;
69 }
70 }
71 else {
72 std::cerr << "ERROR: Stage " << stage << " for message # " << index
73 << " expecting to receive message with x=1.0,"
74 << " 2.0, or 3.0, but received " << msg.x << "\n";
75 valid = false;
76 }
77 }
78
79 if (stage == 2) {

Callers 15

checkMethod · 0.85
set_qosMethod · 0.85
set_qosMethod · 0.85
create_participantMethod · 0.85
set_qosMethod · 0.85
set_qosMethod · 0.85
set_qosMethod · 0.85
set_qosMethod · 0.85
set_qosMethod · 0.85

Calls 3

emptyMethod · 0.45
sizeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected