From a9469522ac9413ab14bd1161342204efe892b97a Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 4 Feb 2025 16:39:35 +0100 Subject: [PATCH] Remove dependency on CurrentCulture in tests On a system configured for german language the tests weren't working because the . on the german system are written as , which results in invalid json, because the StreamWriter depends on the CurrentCulture by default. --- .../OpenApiWriterAnyExtensionsTests.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterAnyExtensionsTests.cs b/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterAnyExtensionsTests.cs index a26173606..2e05a70a3 100644 --- a/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterAnyExtensionsTests.cs +++ b/test/Microsoft.OpenApi.Tests/Writers/OpenApiWriterAnyExtensionsTests.cs @@ -113,7 +113,7 @@ public async Task WriteOpenApiFloatAsJsonWorksAsync(float input, bool produceTer var json = await WriteAsJsonAsync(floatValue, produceTerseOutput); // Assert - Assert.Equal(input.ToString(), json); + Assert.Equal(input.ToString(CultureInfo.InvariantCulture), json); } public static IEnumerable DoubleInputs @@ -141,7 +141,7 @@ public async Task WriteOpenApiDoubleAsJsonWorksAsync(double input, bool produceT var json = await WriteAsJsonAsync(doubleValue, produceTerseOutput); // Assert - Assert.Equal(input.ToString(), json); + Assert.Equal(input.ToString(CultureInfo.InvariantCulture), json); } public static IEnumerable StringifiedDateTimes @@ -149,7 +149,7 @@ public static IEnumerable StringifiedDateTimes get { return - from input in new [] { + from input in new[] { "2017-1-2", "1999-01-02T12:10:22", "1999-01-03", @@ -178,7 +178,7 @@ public async Task WriteOpenApiDateTimeAsJsonWorksAsync(string inputString, bool public static IEnumerable BooleanInputs { get => - from input in new [] { true, false } + from input in new[] { true, false } from shouldBeTerse in shouldProduceTerseOutputValues select new object[] { input, shouldBeTerse }; } @@ -258,7 +258,7 @@ private static async Task WriteAsJsonAsync(JsonNode any, bool produceTer // Arrange (continued) using var stream = new MemoryStream(); var writer = new OpenApiJsonWriter( - new StreamWriter(stream), + new CultureInvariantStreamWriter(stream), new() { Terse = produceTerseOutput }); writer.WriteAny(any); @@ -279,5 +279,15 @@ private static async Task WriteAsJsonAsync(JsonNode any, bool produceTer _ => value.MakeLineBreaksEnvironmentNeutral(), }; } + + private class CultureInvariantStreamWriter : StreamWriter + { + public CultureInvariantStreamWriter(Stream stream) : base(stream) + { + } + + public override IFormatProvider FormatProvider => CultureInfo.InvariantCulture; + } + } }