public void BasicTest()
        {
            var obja = new SettingsAdapter().Create <A>(_dict);

            CollectionAssert.AreEquivalent(obja.StringList, new[] { "a", "b", "c" });
            CollectionAssert.AreEquivalent(obja.IntList, new[] { 1, 2, 3, 4 });
        }
        public void MixedTest()
        {
            var objb = new SettingsAdapter().Create <B>(_dict);
            var objc = new SettingsAdapter().Create <C>(_dict);
            var obje = new SettingsAdapter().Create <E>(_dict);

            Assert.AreEqual("SubValue", obje.Nested.Inner);
            Assert.AreEqual("C-Value", objc.Charlie);
        }
        public void ValidObjectTest()
        {
            var dict = new NameValueCollection()
            {
                { "F:Data", "Value" },
                { "F:Nested:Inner", "SubValue" }
            };

            var obje = new SettingsAdapter().Create <F>(dict);
        }
        public void NestedTest()
        {
            var dict = new NameValueCollection()
            {
                { "B:Inner", "Invalid1" },
                { "Other:Inner", "Invalid2" },
                { typeof(E).Namespace + ":Nested:Inner", "SubValue" }
            };

            var obje = new SettingsAdapter().Create <E>(dict);

            Assert.AreEqual("SubValue", obje.Nested.Inner);
        }