From 8c2d6e9cf8986f2cb7c748fd16005df9c701c79c Mon Sep 17 00:00:00 2001 From: Chris Wood Date: Tue, 28 Jul 2026 08:11:00 +0200 Subject: [PATCH] Bump Meziantou.Analyzer from 3.0.125 to 3.0.133 Fix 34 MA0002 violations in test files by adding explicit StringComparer.Ordinal to Assert.Equal, Assert.NotEqual and Assert.Contains calls that compare strings. Source project was clean - all fixes in tests only. --- Directory.Build.props | 2 +- .../Binders/TemplateFactoryTests.cs | 2 +- .../Diagnostics/DiagnosticIntegrationTests.cs | 2 +- .../PropertyPathSetter.Collections.Tests.cs | 4 +- .../PropertyPathSetter.Pipeline.Tests.cs | 4 +- .../TemplateCollectionTests.cs | 2 +- .../Temporal/DatePatternRecognizerTests.cs | 54 +++++++++---------- 7 files changed, 35 insertions(+), 35 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index ef0c869f..8bacfe5d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -10,7 +10,7 @@ latest-None - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/tests/Tokenizer.Tests/Compilation/Binders/TemplateFactoryTests.cs b/tests/Tokenizer.Tests/Compilation/Binders/TemplateFactoryTests.cs index 1ab6252d..42d693df 100644 --- a/tests/Tokenizer.Tests/Compilation/Binders/TemplateFactoryTests.cs +++ b/tests/Tokenizer.Tests/Compilation/Binders/TemplateFactoryTests.cs @@ -52,7 +52,7 @@ public void GivenMultipleCreations_WhenNoName_ThenCounterIncrements() var definition = new TemplateDefinition { Name = string.Empty }; var t1 = TemplateFactory.Create(1UL, definition); var t2 = TemplateFactory.Create(2UL, definition); - Assert.NotEqual(t1.Name, t2.Name); + Assert.NotEqual(t1.Name, t2.Name, StringComparer.Ordinal); Assert.StartsWith("Template_", t1.Name, StringComparison.Ordinal); Assert.StartsWith("Template_", t2.Name, StringComparison.Ordinal); } diff --git a/tests/Tokenizer.Tests/Diagnostics/DiagnosticIntegrationTests.cs b/tests/Tokenizer.Tests/Diagnostics/DiagnosticIntegrationTests.cs index 5fd92fd5..216093a4 100644 --- a/tests/Tokenizer.Tests/Diagnostics/DiagnosticIntegrationTests.cs +++ b/tests/Tokenizer.Tests/Diagnostics/DiagnosticIntegrationTests.cs @@ -142,7 +142,7 @@ public void GivenDiagnosticsEnabled_WhenTokenizingWithDecorators_ThenDecoratorEv var transformerEvent = result.Diagnostics.RawEvents .First(e => e.Type == TokenizationEventType.TransformerSucceeded); Assert.NotNull(transformerEvent.DecoratorArgs); - Assert.Contains("yyyy-MM-dd", transformerEvent.DecoratorArgs); + Assert.Contains("yyyy-MM-dd", transformerEvent.DecoratorArgs, StringComparer.Ordinal); } [Fact] diff --git a/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Collections.Tests.cs b/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Collections.Tests.cs index b78d7f1c..d027969f 100644 --- a/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Collections.Tests.cs +++ b/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Collections.Tests.cs @@ -61,7 +61,7 @@ public void GivenStringValues_WhenSetCollectionToStringList_ThenAssigned() _setter.SetCollection(target, "StringList", values, StringComparison.Ordinal); // Assert - Assert.Equal(new[] { "alpha", "beta", "gamma" }, target.StringList); + Assert.Equal(new[] { "alpha", "beta", "gamma" }, target.StringList, StringComparer.Ordinal); } [Fact] @@ -247,7 +247,7 @@ public void GivenSingleValue_WhenSetCollectionToStringList_ThenSingleElementList _setter.SetCollection(target, "StringList", values, StringComparison.Ordinal); // Assert - Assert.Equal(new[] { "only" }, target.StringList); + Assert.Equal(new[] { "only" }, target.StringList, StringComparer.Ordinal); } // ── Getter-only collections ────────────────────────────────────────────────── diff --git a/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Pipeline.Tests.cs b/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Pipeline.Tests.cs index 39b43c6a..4036c386 100644 --- a/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Pipeline.Tests.cs +++ b/tests/Tokenizer.Tests/Reflection/PropertyPathSetter.Pipeline.Tests.cs @@ -181,7 +181,7 @@ public void GivenMultipleTokensWithSameName_WhenAssignToList_ThenAllValuesCollec var target = result.Assign(); // Assert - Assert.Equal(new[] { "tag1", "tag2", "tag3" }, target.Tags); + Assert.Equal(new[] { "tag1", "tag2", "tag3" }, target.Tags, StringComparer.Ordinal); } [Fact] @@ -223,7 +223,7 @@ public void GivenMixedScalarAndCollectionTokens_WhenAssign_ThenAllPropertiesPopu // Assert Assert.Equal("Alice", target.Name); - Assert.Equal(new[] { "dev", "ops" }, target.Tags); + Assert.Equal(new[] { "dev", "ops" }, target.Tags, StringComparer.Ordinal); } // ── Missing property tests ────────────────────────────────────────────────── diff --git a/tests/Tokenizer.Tests/TemplateCollectionTests.cs b/tests/Tokenizer.Tests/TemplateCollectionTests.cs index ba2e1bf0..c682b4c8 100644 --- a/tests/Tokenizer.Tests/TemplateCollectionTests.cs +++ b/tests/Tokenizer.Tests/TemplateCollectionTests.cs @@ -140,7 +140,7 @@ public void GivenCollection_WhenUsedWithLinq_ThenSupportsLinqOperations() var names = coll.Select(t => t.Name).Order(StringComparer.Ordinal).ToList(); // Assert - Assert.Equal(new[] { "alpha", "beta" }, names); + Assert.Equal(new[] { "alpha", "beta" }, names, StringComparer.Ordinal); } [Fact] diff --git a/tests/Tokenizer.Tests/Temporal/DatePatternRecognizerTests.cs b/tests/Tokenizer.Tests/Temporal/DatePatternRecognizerTests.cs index 15fa6548..b28b77f6 100644 --- a/tests/Tokenizer.Tests/Temporal/DatePatternRecognizerTests.cs +++ b/tests/Tokenizer.Tests/Temporal/DatePatternRecognizerTests.cs @@ -148,7 +148,7 @@ public void GivenYearDotMonthDotDayWithTime_WhenRecognizing_ThenMatchesAndParses // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy.MM.dd HH:mm:ss", f); + Assert.Contains("yyyy.MM.dd HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -167,7 +167,7 @@ public void GivenYearMonthDayWithTime_WhenRecognizing_ThenMatchesAndParses(strin // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy-MM-dd HH:mm:ss", f); + Assert.Contains("yyyy-MM-dd HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -187,7 +187,7 @@ public void GivenDayMonthNameYearWithTime_WhenRecognizing_ThenMatchesAndParses(s // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd-MMM-yyyy HH:mm:ss", f); + Assert.Contains("dd-MMM-yyyy HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -207,7 +207,7 @@ public void GivenDaynameDayMonthnameYear_WhenRecognizing_ThenMatchesAndParses(st // Assert Assert.True(result); var f = formats!; - Assert.Contains("dddd d MMMM yyyy", f); + Assert.Contains("dddd d MMMM yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -227,7 +227,7 @@ public void GivenDayMonthnameYearWithTimeAndOffset_WhenRecognizing_ThenMatchesAn // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd MMM yyyy HH:mmzzz", f); + Assert.Contains("dd MMM yyyy HH:mmzzz", f, StringComparer.Ordinal); Assert.True(DateTimeOffset.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -247,7 +247,7 @@ public void GivenMonthnameDay_Year_WhenRecognizing_ThenMatchesAndParses(string i // Assert Assert.True(result); var f = formats!; - Assert.Contains("MMMM d, yyyy", f); + Assert.Contains("MMMM d, yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -268,7 +268,7 @@ public void GivenDayMonthNameYear_WhenRecognizing_ThenMatchesAndParses(string in // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd-MMM-yyyy", f); + Assert.Contains("dd-MMM-yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -288,7 +288,7 @@ public void GivenDayMonthnameYear_WhenRecognizing_ThenMatchesAndParses(string in // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd MMM yyyy", f); + Assert.Contains("dd MMM yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -308,7 +308,7 @@ public void GivenDayFullMonthYear_WhenRecognizing_ThenMatchesAndParses(string in // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd-MMMM-yyyy", f); + Assert.Contains("dd-MMMM-yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -327,7 +327,7 @@ public void GivenDayDotMonthDotYearWithTime_WhenRecognizing_ThenMatchesAndParses // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd.MM.yyyy HH:mm:ss", f); + Assert.Contains("dd.MM.yyyy HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -367,7 +367,7 @@ public void GivenKoreanStyle_WhenRecognizing_ThenMatchesAndParses(string input) // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy. MM. dd.", f); + Assert.Contains("yyyy. MM. dd.", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -387,7 +387,7 @@ public void GivenTurkishStyle_WhenRecognizing_ThenMatchesAndParses(string input) // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy-MMM-dd.", f); + Assert.Contains("yyyy-MMM-dd.", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -406,7 +406,7 @@ public void GivenYearSlashMonthSlashDayWithTime_WhenRecognizing_ThenMatchesAndPa // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy/MM/dd HH:mm:ss", f); + Assert.Contains("yyyy/MM/dd HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -425,7 +425,7 @@ public void GivenDaySlashMonthSlashYearWithTime_WhenRecognizing_ThenMatchesAndPa // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd/MM/yyyy HH:mm:ss", f); + Assert.Contains("dd/MM/yyyy HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -444,7 +444,7 @@ public void GivenYearMonthDay_WhenRecognizing_ThenMatchesAndParses(string input) // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy-MM-dd", f); + Assert.Contains("yyyy-MM-dd", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -463,7 +463,7 @@ public void GivenYearDotMonthDotDay_WhenRecognizing_ThenMatchesAndParses(string // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy.MM.dd", f); + Assert.Contains("yyyy.MM.dd", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -482,7 +482,7 @@ public void GivenYearSlashMonthSlashDay_WhenRecognizing_ThenMatchesAndParses(str // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyy/MM/dd", f); + Assert.Contains("yyyy/MM/dd", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -501,7 +501,7 @@ public void GivenDayDotMonthDotYear_WhenRecognizing_ThenMatchesAndParses(string // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd.MM.yyyy", f); + Assert.Contains("dd.MM.yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -520,7 +520,7 @@ public void GivenDaySlashMonthSlashYear_WhenRecognizing_ThenMatchesAndParses(str // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd/MM/yyyy", f); + Assert.Contains("dd/MM/yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -539,7 +539,7 @@ public void GivenDayDashMonthDashYear_WhenRecognizing_ThenMatchesAndParses(strin // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd-MM-yyyy", f); + Assert.Contains("dd-MM-yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -558,7 +558,7 @@ public void GivenCompactWithTime_WhenRecognizing_ThenMatchesAndParses(string inp // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyyMMddHHmmss", f); + Assert.Contains("yyyyMMddHHmmss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -577,7 +577,7 @@ public void GivenCompactDateWithSpaceTime_WhenRecognizing_ThenMatchesAndParses(s // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyyMMdd HH:mm:ss", f); + Assert.Contains("yyyyMMdd HH:mm:ss", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -596,7 +596,7 @@ public void GivenCompactDate_WhenRecognizing_ThenMatchesAndParses(string input) // Assert Assert.True(result); var f = formats!; - Assert.Contains("yyyyMMdd", f); + Assert.Contains("yyyyMMdd", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -616,7 +616,7 @@ public void GivenRelaxedDayDotMonthDotYear_WhenRecognizing_ThenMatchesAndParses( // Assert Assert.True(result); var f = formats!; - Assert.Contains("d.M.yyyy", f); + Assert.Contains("d.M.yyyy", f, StringComparer.Ordinal); Assert.True(DateTime.TryParseExact(input, f, CultureInfo.InvariantCulture, DateTimeStyles.None, out _), $"TryParseExact failed for '{input}' with formats [{string.Join(", ", f)}]"); } @@ -637,7 +637,7 @@ public void GivenAmbiguousNumericDate_WhenRecognizingWithInvariantCulture_ThenDe // Assert Assert.True(result); var f = formats!; - Assert.Contains("dd/MM/yyyy", f); + Assert.Contains("dd/MM/yyyy", f, StringComparer.Ordinal); } [Fact] @@ -649,7 +649,7 @@ public void GivenAmbiguousNumericDate_WhenRecognizingWithUsCulture_ThenDefaultsT // Assert Assert.True(result); var f = formats!; - Assert.Contains("MM/dd/yyyy", f); + Assert.Contains("MM/dd/yyyy", f, StringComparer.Ordinal); } [Fact] @@ -706,6 +706,6 @@ public void GivenIso8601WithOffset_WhenRecognizing_ThenPrioritisedOverPlainYearM Assert.True(result); var f = formats!; - Assert.Contains("yyyy-MM-ddTHH:mm:sszzz", f); + Assert.Contains("yyyy-MM-ddTHH:mm:sszzz", f, StringComparer.Ordinal); } }