Example #1
0
        public void DictionaryPaths()
        {
            var dict = new Dictionary<string, object>();
            dict.SetPath("settings.subSettings.settingA", 23);
            dict.SetPath("settings.subSettings.settingB", 24);

            Assert.IsTrue(dict.ContainsKey("settings"));
            Assert.IsTrue(((IDictionary<string, object>)dict["settings"]).ContainsKey("subSettings"));
            Assert.AreEqual(dict.GetPath<int>("settings.subSettings.settingA"), 23);
            Assert.AreEqual(dict.GetPath<int>("settings.subSettings.settingB"), 24);
            Assert.IsTrue(dict.PathExists("settings.subSettings"));
            Assert.IsTrue(dict.PathExists("settings.subSettings.settingA"));
            Assert.IsFalse(dict.PathExists("missing_in_action"));
        }
Example #2
0
        public void DictionaryReparseType()
        {
            // Create and initialize and object then convert it to a dictionary
            var o = new DaObject() { id = 101, Name = "#101" };
            var oDict = Json.Reparse<IDictionary<string, object>>(o);

            // Store that dictionary at a path inside another dictionary
            var dict = new Dictionary<string, object>();
            dict.SetPath("settings.daObject", oDict);

            // Get it back out, but reparse it back into a strongly typed object
            var o2 = dict.GetPath<DaObject>("settings.daObject");
            Assert.AreEqual(o2.id, o.id);
            Assert.AreEqual(o2.Name, o.Name);
        }