public void ParseString()
        {
            string result = SilentDictParser.ParseString(TestDict, "Str", "Default", out bool notFound);

            Assert.IsTrue(result.Equals("ing", StringComparison.Ordinal));
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseString(TestDict, "Str", null, out notFound);
            Assert.IsTrue(result.Equals("ing", StringComparison.Ordinal));
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseString(TestDict, "None", "Default", out notFound);
            Assert.IsTrue(result.Equals("Default", StringComparison.Ordinal));
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseString(TestDict, "None", null, out notFound);
            Assert.IsNull(result);
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseString(TestDict, "Null", "Default", out notFound);
            Assert.IsTrue(result.Equals("Default", StringComparison.Ordinal));
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseString(TestDict, "Null", null, out notFound);
            Assert.IsNull(result);
            Assert.IsTrue(notFound);

            result = SilentDictParser.ParseString(TestDict, "Str", "Default");
            Assert.IsTrue(result.Equals("ing", StringComparison.Ordinal));
            result = SilentDictParser.ParseString(TestDict, "Str", null);
            Assert.IsTrue(result.Equals("ing", StringComparison.Ordinal));
            result = SilentDictParser.ParseString(TestDict, "None", "Default");
            Assert.IsTrue(result.Equals("Default", StringComparison.Ordinal));
            result = SilentDictParser.ParseString(TestDict, "None", null);
            Assert.IsNull(result);
            result = SilentDictParser.ParseString(TestDict, "Null", "Default");
            Assert.IsTrue(result.Equals("Default", StringComparison.Ordinal));
            result = SilentDictParser.ParseString(TestDict, "Null", null);
            Assert.IsNull(result);
        }
        public void ParseIntEnum()
        {
            TestEnum result = SilentDictParser.ParseIntEnum(TestDict, "IntEnum1", TestEnum.None, out bool notFound);

            Assert.AreEqual(TestEnum.First, result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseIntEnum(TestDict, "IntEnum2", TestEnum.None, out notFound);
            Assert.AreEqual(TestEnum.None, result);
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseIntEnum(TestDict, "IntEnum3", TestEnum.None, out notFound);
            Assert.AreEqual(TestEnum.Third, result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseIntEnum(TestDict, "None", TestEnum.None, out notFound);
            Assert.AreEqual(TestEnum.None, result);
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseIntEnum(TestDict, "Null", TestEnum.None, out notFound);
            Assert.AreEqual(TestEnum.None, result);
            Assert.IsTrue(notFound);

            result = SilentDictParser.ParseIntEnum(TestDict, "IntEnum1", TestEnum.None);
            Assert.AreEqual(TestEnum.First, result);
            result = SilentDictParser.ParseIntEnum(TestDict, "IntEnum2", TestEnum.None);
            Assert.AreEqual(TestEnum.None, result);
            result = SilentDictParser.ParseIntEnum(TestDict, "IntEnum3", TestEnum.None);
            Assert.AreEqual(TestEnum.Third, result);
            result = SilentDictParser.ParseIntEnum(TestDict, "None", TestEnum.None);
            Assert.AreEqual(TestEnum.None, result);
            result = SilentDictParser.ParseIntEnum(TestDict, "Null", TestEnum.None);
            Assert.AreEqual(TestEnum.None, result);
        }
        public void ParseColor()
        {
            Color result = SilentDictParser.ParseColor(TestDict, "Color1", Color.FromRgb(255, 255, 255), out bool notFound);

            Assert.AreEqual(Color.FromRgb(230, 0, 0), result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseColor(TestDict, "Color2", Color.FromRgb(255, 255, 255), out notFound);
            Assert.AreEqual(Color.FromRgb(16, 32, 64), result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseColor(TestDict, "Color3", Color.FromRgb(255, 255, 255), out notFound);
            Assert.AreEqual(Color.FromRgb(255, 255, 255), result);
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseColor(TestDict, "None", Color.FromRgb(255, 255, 255), out notFound);
            Assert.AreEqual(Color.FromRgb(255, 255, 255), result);
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseColor(TestDict, "Null", Color.FromRgb(255, 255, 255), out notFound);
            Assert.AreEqual(Color.FromRgb(255, 255, 255), result);
            Assert.IsTrue(notFound);

            result = SilentDictParser.ParseColor(TestDict, "Color1", Color.FromRgb(255, 255, 255));
            Assert.AreEqual(Color.FromRgb(230, 0, 0), result);
            result = SilentDictParser.ParseColor(TestDict, "Color2", Color.FromRgb(255, 255, 255));
            Assert.AreEqual(Color.FromRgb(16, 32, 64), result);
            result = SilentDictParser.ParseColor(TestDict, "Color3", Color.FromRgb(255, 255, 255));
            Assert.AreEqual(Color.FromRgb(255, 255, 255), result);
            result = SilentDictParser.ParseColor(TestDict, "None", Color.FromRgb(255, 255, 255));
            Assert.AreEqual(Color.FromRgb(255, 255, 255), result);
            result = SilentDictParser.ParseColor(TestDict, "Null", Color.FromRgb(255, 255, 255));
            Assert.AreEqual(Color.FromRgb(255, 255, 255), result);
        }
        public void ParseInteger()
        {
            int result = SilentDictParser.ParseInteger(TestDict, "Int1", 0, out bool notFound);

            Assert.AreEqual(100, result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseInteger(TestDict, "Int2", 0, out notFound);
            Assert.AreEqual(0x100, result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseInteger(TestDict, "Int3", 0, out notFound);
            Assert.AreEqual(-1, result);
            Assert.IsFalse(notFound);
            result = SilentDictParser.ParseInteger(TestDict, "None", 0, out notFound);
            Assert.AreEqual(0, result);
            Assert.IsTrue(notFound);
            result = SilentDictParser.ParseInteger(TestDict, "None", -128, out notFound);
            Assert.AreEqual(-128, result);
            Assert.IsTrue(notFound);

            result = SilentDictParser.ParseInteger(TestDict, "Int1", 0);
            Assert.AreEqual(100, result);
            result = SilentDictParser.ParseInteger(TestDict, "Int2", 0);
            Assert.AreEqual(0x100, result);
            result = SilentDictParser.ParseInteger(TestDict, "Int3", 0);
            Assert.AreEqual(-1, result);
            result = SilentDictParser.ParseInteger(TestDict, "None", 0);
            Assert.AreEqual(0, result);
            result = SilentDictParser.ParseInteger(TestDict, "None", -128);
            Assert.AreEqual(-128, result);
        }