コード例 #1
0
        public void Check_Normal_Enum_Convert_Succeeds()
        {
            var converter = new EnumToCollectionConverter();
            var result    = converter.Convert(Number.One, null, null, CultureInfo.CurrentCulture);

            if (!(result is IList <EnumDescription> actual))
            {
                Assert.Fail($"The result should be {nameof(IList<EnumDescription>)} but actually is '{result?.GetType().Name ?? "[UNKNOWN]"}'.");
            }
            else
            {
                Assert.AreEqual(Number.One, (Number)actual[0].Value);
                Assert.AreEqual("#1", actual[0].Description);
                Assert.AreEqual(1, actual[0].Number);
                Assert.IsTrue(actual[0].IsSelected);

                Assert.AreEqual(Number.Two, (Number)actual[1].Value);
                Assert.AreEqual("#2", actual[1].Description);
                Assert.AreEqual(2, actual[1].Number);
                Assert.IsFalse(actual[1].IsSelected);

                Assert.AreEqual(Number.Three, (Number)actual[2].Value);
                Assert.AreEqual("#3", actual[2].Description);
                Assert.AreEqual(3, actual[2].Number);
                Assert.IsFalse(actual[2].IsSelected);
            }
        }
コード例 #2
0
        public void Check_Flags_Enum_Convert_Succeeds()
        {
            var converter = new EnumToCollectionConverter();
            var result    = converter.Convert(Colors.Red | Colors.Blue, null, null, CultureInfo.CurrentCulture);

            if (!(result is IList <EnumDescription> actual))
            {
                Assert.Fail($"The result should be {nameof(IList<EnumDescription>)} but actually is '{result?.GetType().Name ?? "[UNKNOWN]"}'.");
            }
            else
            {
                Assert.AreEqual(Colors.Red, (Colors)actual[0].Value);
                Assert.AreEqual(Colors.Red.ToString(), actual[0].Description);
                Assert.AreEqual((int)Colors.Red, actual[0].Number);
                Assert.IsTrue(actual[0].IsSelected);

                Assert.AreEqual(Colors.Green, (Colors)actual[1].Value);
                Assert.AreEqual(Colors.Green.ToString(), actual[1].Description);
                Assert.AreEqual((int)Colors.Green, actual[1].Number);
                Assert.IsFalse(actual[1].IsSelected);

                Assert.AreEqual(Colors.Blue, (Colors)actual[2].Value);
                Assert.AreEqual(Colors.Blue.ToString(), actual[2].Description);
                Assert.AreEqual((int)Colors.Blue, actual[2].Number);
                Assert.IsTrue(actual[2].IsSelected);
            }
        }
コード例 #3
0
        public void Check_ConvertBack_Succeeds()
        {
            var target           = Colors.Red | Colors.Blue;
            var enumDescriptions = target.GetEnumDescriptions().ToList();
            var converter        = new EnumToCollectionConverter();
            var result           = converter.ConvertBack(enumDescriptions, typeof(Colors), null, CultureInfo.CurrentCulture);

            if (!(result is Colors actual))
            {
                Assert.Fail($"The result should be {nameof(Colors)} but actually is '{result?.GetType().Name ?? "[UNKNOWN]"}'.");
            }