TEST(PropertyTests, DictionaryPropertyCanGrow) { std::map<std::string, int> m; Property p = m; p.AsDictionary().Grow("zero").AsInt().Set(0); p.AsDictionary().Grow("one").AsInt().Set(1); p.AsDictionary().Grow("two").AsInt().Set(2); ASSERT_EQ(m.size(), 3); ASSERT_EQ(m["zero"], 0); ASSERT_EQ(m["one"], 1); ASSERT_EQ(m["two"], 2); }
TEST(PropertyTests, DictionaryPropertyEncapsulatesMapOfInts) { std::map<std::string, int> m; m["zero"] = 0; m["one"] = 1; m["two"] = 2; Property p = m; ASSERT_EQ(p.Type(), PropertyTypes::Dictionary); ASSERT_NO_THROW(p.AsDictionary()); ASSERT_EQ(p.AsDictionary().Get("zero").AsInt().Get(), 0); ASSERT_EQ(p.AsDictionary().Get("one").AsInt().Get(), 1); ASSERT_EQ(p.AsDictionary().Get("two").AsInt().Get(), 2); }