Пример #1
0
        public void TestThatUnknownColorsTranslateToNone()
        {
            if (!IsTestApplicable)
            {
                return;
            }

            WindowsConsole.TranslateBackgroundColor((ConsoleColor)int.MaxValue)
            .Should().Be(NativeMethods.CharAttributes.None);
        }
Пример #2
0
        public void TestThatColorTranslationIsCorrectForValidColors()
        {
            if (!IsTestApplicable)
            {
                return;
            }

            foreach (var colorName in Enum.GetNames(typeof(ConsoleColor)))
            {
                var consoleColor = (ConsoleColor)
                                   (typeof(ConsoleColor).GetTypeInfo().GetField(colorName).GetValue(null));

                var bgColorName = "Background" + colorName;

                var bgEnumValue = typeof(NativeMethods.CharAttributes).GetTypeInfo().GetField(bgColorName);
                bgEnumValue.Should().NotBeNull($"{bgColorName} should be a member of {nameof(NativeMethods.CharAttributes)}");

                var bgColor = (NativeMethods.CharAttributes)bgEnumValue.GetValue(null);

                var translated = WindowsConsole.TranslateBackgroundColor(consoleColor);
                translated.Should().Be(bgColor);
            }
        }