public void TestThatUnknownColorsTranslateToNone() { if (!IsTestApplicable) { return; } WindowsConsole.TranslateBackgroundColor((ConsoleColor)int.MaxValue) .Should().Be(NativeMethods.CharAttributes.None); }
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); } }