From 957a77219c464fad02ec4c771ec9689d3a6fe232 Mon Sep 17 00:00:00 2001 From: Chris Ross Date: Mon, 6 Apr 2015 12:41:01 -0700 Subject: [PATCH] Use MemberData instead of InlineData. --- .../UnicodeHelpersTests.cs | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/test/Microsoft.Framework.WebEncoders.Tests/UnicodeHelpersTests.cs b/test/Microsoft.Framework.WebEncoders.Tests/UnicodeHelpersTests.cs index 9a2671023a..1984a61a53 100644 --- a/test/Microsoft.Framework.WebEncoders.Tests/UnicodeHelpersTests.cs +++ b/test/Microsoft.Framework.WebEncoders.Tests/UnicodeHelpersTests.cs @@ -29,15 +29,26 @@ namespace Microsoft.Framework.WebEncoders Assert.Same(retVal1, retVal2); } + public static TheoryData Utf16ScalarValues + { + get + { + var dataset = new TheoryData(); + dataset.Add(1, "a", (int)'a'); // normal BMP char, end of string + dataset.Add(2, "ab", (int)'a'); // normal BMP char, not end of string + dataset.Add(3, "\uDFFF", UnicodeReplacementChar); // trailing surrogate, end of string + dataset.Add(4, "\uDFFFx", UnicodeReplacementChar); // trailing surrogate, not end of string + dataset.Add(5, "\uD800", UnicodeReplacementChar); // leading surrogate, end of string + dataset.Add(6, "\uD800x", UnicodeReplacementChar); // leading surrogate, not end of string, followed by non-surrogate + dataset.Add(7, "\uD800\uD800", UnicodeReplacementChar); // leading surrogate, not end of string, followed by leading surrogate + dataset.Add(8, "\uD800\uDFFF", 0x103FF); // leading surrogate, not end of string, followed by trailing surrogate + + return dataset; + } + } + [Theory] - [InlineData(1, "a", (int)'a')] // normal BMP char, end of string - [InlineData(2, "ab", (int)'a')] // normal BMP char, not end of string - [InlineData(3, "\uDFFF", UnicodeReplacementChar)] // trailing surrogate, end of string - [InlineData(4, "\uDFFFx", UnicodeReplacementChar)] // trailing surrogate, not end of string - [InlineData(5, "\uD800", UnicodeReplacementChar)] // leading surrogate, end of string - [InlineData(6, "\uD800x", UnicodeReplacementChar)] // leading surrogate, not end of string, followed by non-surrogate - [InlineData(7, "\uD800\uD800", UnicodeReplacementChar)] // leading surrogate, not end of string, followed by leading surrogate - [InlineData(8, "\uD800\uDFFF", 0x103FF)] // leading surrogate, not end of string, followed by trailing surrogate + [MemberData(nameof(Utf16ScalarValues))] public void GetScalarValueFromUtf16(int unused, string input, int expectedResult) { // The 'unused' parameter exists because the xunit runner can't distinguish