MCPcopy Create free account
hub / github.com/apache/qpid-proton / test_cppmap

Function test_cppmap

cpp/src/map_test.cpp:66–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64}
65
66void test_cppmap() {
67 std::map<string, scalar> sm;
68 sm["a"] = 2;
69 sm["b"] = 3;
70 proton::map<string, scalar> m;
71 m = sm;
72 ASSERT_EQUAL(scalar(2), m.get("a"));
73 ASSERT_EQUAL(scalar(3), m.get("b"));
74 ASSERT_EQUAL(2U, m.size());
75
76 std::map<string, scalar> sm2;
77 proton::get(m, sm2);
78 ASSERT_EQUAL(2U, sm2.size());
79 ASSERT_EQUAL(scalar(2), sm2["a"]);
80 ASSERT_EQUAL(scalar(3), sm2["b"]);
81
82 // Round trip:
83 value v = m.value();
84 proton::map<string, scalar> m2;
85 m2.value(v);
86
87 // Use a vector as map storage
88 vector<pair<string, scalar> > vm;
89
90 vm.push_back(std::make_pair(string("x"), 8));
91 vm.push_back(std::make_pair(string("y"), 9));
92 m.value(vm); // Can't use type-safe op=, not enabled
93 ASSERT_EQUAL(scalar(8), m.get("x"));
94 ASSERT_EQUAL(scalar(9), m.get("y"));
95 ASSERT_EQUAL(2U, m.size());
96
97 vm.clear();
98 proton::get(m, vm);
99 ASSERT_EQUAL(2U, vm.size());
100 ASSERT_EQUAL(string("x"), vm[0].first);
101 ASSERT_EQUAL(scalar(8), vm[0].second);
102}
103
104void test_value() {
105 proton::map<string, scalar> m;

Callers 1

mainFunction · 0.85

Calls 6

getFunction · 0.70
scalarClass · 0.50
getMethod · 0.45
sizeMethod · 0.45
valueMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected