public void ConvertTest() { var converter = new EnumConverter(); const TestEnum Value = TestEnum.Blue; var actual = converter.Convert(Value, typeof(TestEnum), null, CultureInfo.InvariantCulture); Assert.AreEqual(Value, actual); actual = converter.Convert(null, typeof(TestEnum), "Blue", CultureInfo.InvariantCulture); Assert.IsNull(actual); actual = converter.Convert(Value, typeof(TestEnum), "Blue", CultureInfo.InvariantCulture); Assert.IsTrue((bool)actual); actual = converter.Convert(Value, typeof(TestEnum), "Red", CultureInfo.InvariantCulture); Assert.IsFalse((bool)actual); }
public void ConvertBackTest() { var converter = new EnumConverter(); const TestEnum Value = TestEnum.Blue; var actual = converter.ConvertBack(Value, typeof(TestEnum), null, CultureInfo.InvariantCulture); Assert.AreEqual(Value, actual); actual = converter.ConvertBack(null, typeof(TestEnum), "Blue", CultureInfo.InvariantCulture); Assert.IsNull(actual); actual = converter.ConvertBack(true, typeof(TestEnum), "blue", CultureInfo.InvariantCulture); Assert.IsTrue(actual is TestEnum); Assert.AreEqual(TestEnum.Blue, actual); actual = converter.ConvertBack(true, typeof(TestEnum), "RED", CultureInfo.InvariantCulture); Assert.IsTrue(actual is TestEnum); Assert.AreEqual(TestEnum.Red, actual); actual = converter.ConvertBack(false, typeof(TestEnum), "Blue", CultureInfo.InvariantCulture); Assert.IsNull(actual); try { converter.ConvertBack(true, typeof(TestEnum), "Black", CultureInfo.InvariantCulture); Assert.Fail("ConvertBack should throw ArgumentException."); } catch (ArgumentException) { } }