[lang-ref] ( set_dict_elem ) ( cpp )
TEST(DictInit, SetDictElem) {
// d[k] = v
map<string, int> d = {};
d["A"] = 5;
EXPECT_EQ(d.at("A"), 5);
EXPECT_EQ(d.size(), 1);
d["A"] = 8;
EXPECT_EQ(d.at("A"), 8); // overwritten
EXPECT_EQ(d.size(), 1);
}
TEST(DictInit, SetDictElemAlternative1) {
// d.emplace(k, v)
map<string, int> d = {};
d.emplace("A", 5);
EXPECT_EQ(d.at("A"), 5);
EXPECT_EQ(d.size(), 1);
d.emplace("A", 8);
EXPECT_EQ(d.at("A"), 5); // not overwritten
EXPECT_EQ(d.size(), 1);
}
TEST(DictInit, SetDictElemAlternative2) {
// d.insert(make_pair(k, v))
map<string, int> d = {};
d.insert(make_pair("A", 5));
EXPECT_EQ(d.at("A"), 5);
EXPECT_EQ(d.size(), 1);
d.insert(make_pair("A", 8));
EXPECT_EQ(d.at("A"), 5); // not overwritten
EXPECT_EQ(d.size(), 1);
}