From 78736462d8559ee4c99fce622077bfa56bf41702 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 28 Jun 2021 13:37:50 +0200 Subject: [PATCH] Big-endian fix for DoubleTests.cs:ParsePatterns The recently added DoubleTests.cs:ParsePatterns test case incorrectly swaps characters of the hexadecimal representation of the floating-point numbers under test on big-endian platforms. --- .../System.Runtime/tests/System/DoubleTests.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System/DoubleTests.cs b/src/libraries/System.Runtime/tests/System/DoubleTests.cs index a80eb05598c7ed..79bbac49432519 100644 --- a/src/libraries/System.Runtime/tests/System/DoubleTests.cs +++ b/src/libraries/System.Runtime/tests/System/DoubleTests.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Globalization; using System.IO; +using System.Linq; using Xunit; #pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0, NaN from -NaN @@ -349,15 +350,12 @@ public static void Parse(string value, NumberStyles style, IFormatProvider provi internal static string SplitPairs(string input) { - string[] splitPairs = input.Split('-'); - string ret = ""; - foreach (var pair in splitPairs) + if (!BitConverter.IsLittleEndian) { - string reversedPair = Reverse(pair); - ret += reversedPair; + return input.Replace("-", ""); } - return ret; + return string.Concat(input.Split('-').Select(pair => Reverse(pair))); } internal static string Reverse(string s)