Skip to content

Commit

Permalink
Add unit test and fix failing new test
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasGoulet73 committed Sep 14, 2024
1 parent ce2b16c commit 29c9b42
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,8 @@ internal static KnownColor ColorStringToKnownColor(string colorString)
#if !PBTCOMPILER
internal static KnownColor ArgbStringToKnownColor(string argbString)
{
ArgumentNullException.ThrowIfNull(argbString);

ReadOnlySpan<char> argbSpan = argbString.AsSpan().Trim();

// Use NumberStyles.AllowHexSpecifier instead of NumberStyles.HexNumber because NumberStyles.HexNumber
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
namespace System.Windows.Media;

public class KnownColorsTests
{
[Theory]
// Supported values.
[InlineData(KnownColor.AliceBlue, "#FFF0F8FF")]
[InlineData(KnownColor.AliceBlue, " #FFF0F8FF")]
[InlineData(KnownColor.AliceBlue, " #FFF0F8FF ")]
[InlineData(KnownColor.AliceBlue, "#FFF0F8FF ")]
// Unsupported values.
[InlineData(KnownColor.UnknownColor, "")]
[InlineData(KnownColor.UnknownColor, " ")]
[InlineData(KnownColor.UnknownColor, "#020B37EF")] // Random ARGB that is not a known color.
[InlineData(KnownColor.UnknownColor, "# FFF0F8FF")]
public void ArgbStringToKnownColor_ReturnsExpected(object expected, string? argbString)
{
Assert.Equal((KnownColor)expected, KnownColors.ArgbStringToKnownColor(argbString));
}

[Fact]
public void ArgbStringToKnownColor_NullValue_ThrowsArgumentNullException()
{
Assert.Throws<ArgumentNullException>(() => KnownColors.ArgbStringToKnownColor(argbString: null));
}
}

0 comments on commit 29c9b42

Please sign in to comment.