public static IEnumerable<object[]> UrlEncodeDecode_Roundtrip_SharedTestData()
{
yield return new object[] { "'" };
yield return new object[] { "http://www.microsoft.com" };
yield return new object[] { "/\\\"\tHello! \u2665?/\\\"\tWorld! \u2665?\u2665" };
yield return new object[] { "\uD800\uDFFF" }; // Surrogate pairs
yield return new object[] { CharRange('\uE000', '\uF8FF') }; // BMP private use chars
yield return new object[] { CharRange('\uFDD0', '\uFDEF') }; // Low BMP non-chars
yield return new object[] { "\uFFFE\uFFFF" }; // High BMP non-chars
yield return new object[] { CharRange('\0', '\u001F') }; // C0 controls
yield return new object[] { CharRange('\u0080', '\u009F') }; // C1 controls
yield return new object[] { CharRange('\u202A', '\u202E') }; // BIDI embedding and override
yield return new object[] { CharRange('\u2066', '\u2069') }; // BIDI isolate
yield return new object[] { "\uFEFF" }; // BOM
}