[lang-ref] ( dict_key_not_found ) ( cpp )

TEST(DictElemAccess, DictKeyNotFound) {
	// std::out_of_range
	map<string, int> d = { { "A", 1 }, { "B", 2 }, { "C", 3 } };

	EXPECT_THROW(d.at("D"), std::out_of_range);

	EXPECT_EQ(d.size(), 3u);
	EXPECT_EQ(d["D"], 0); // this creates new elem (and not throws) ...
	EXPECT_EQ(d.size(), 4u);
}