From 1b6f59f4b46bd939159a2431825ce91bef54038d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 11:43:50 +0000 Subject: [PATCH] fix: address SonarCloud code smell issues in TrxSerializer Agent-Logs-Url: https://github.com/demaconsulting/TestResults/sessions/abd6bd89-9755-4bbc-8405-8be8a363d47c Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --- src/DemaConsulting.TestResults/IO/TrxSerializer.cs | 4 ++-- .../IO/TrxSerializerTests.cs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/DemaConsulting.TestResults/IO/TrxSerializer.cs b/src/DemaConsulting.TestResults/IO/TrxSerializer.cs index accea14..95b4a4b 100644 --- a/src/DemaConsulting.TestResults/IO/TrxSerializer.cs +++ b/src/DemaConsulting.TestResults/IO/TrxSerializer.cs @@ -412,7 +412,7 @@ private static Dictionary BuildTestMethodLookup(XDocument doc) /// A TestResult object populated with data from the XML element private static TestResult ParseTestResult( XElement resultElement, - IReadOnlyDictionary testMethodsById) + Dictionary testMethodsById) { var testId = resultElement.Attribute("testId") ?? throw new InvalidOperationException(InvalidTrxFileMessage); @@ -498,7 +498,7 @@ private static TestOutcome ParseTestOutcome(string? value) // Try to parse the raw string into a TestOutcome enum member. // Only accept the result when it is a defined, named member of the enum. if (Enum.TryParse(value, ignoreCase: true, out var outcome) && - Enum.IsDefined(typeof(TestOutcome), outcome)) + Enum.IsDefined(outcome)) { return outcome; } diff --git a/test/DemaConsulting.TestResults.Tests/IO/TrxSerializerTests.cs b/test/DemaConsulting.TestResults.Tests/IO/TrxSerializerTests.cs index 4d7d666..cb9f8ef 100644 --- a/test/DemaConsulting.TestResults.Tests/IO/TrxSerializerTests.cs +++ b/test/DemaConsulting.TestResults.Tests/IO/TrxSerializerTests.cs @@ -533,7 +533,7 @@ public void TrxSerializer_Serialize_ThenDeserialize_PreservesTestData() Assert.AreEqual("BuildAgent01", passed.ComputerName); Assert.AreEqual(TestOutcome.Passed, passed.Outcome); Assert.AreEqual(startTime, passed.StartTime); - Assert.IsTrue(Math.Abs((passed.Duration - TimeSpan.FromSeconds(1.5)).TotalSeconds) < 0.001); + Assert.IsLessThan(0.001, Math.Abs((passed.Duration - TimeSpan.FromSeconds(1.5)).TotalSeconds)); Assert.AreEqual("All good", passed.SystemOutput); Assert.AreEqual(string.Empty, passed.SystemError); Assert.AreEqual(string.Empty, passed.ErrorMessage); @@ -547,7 +547,7 @@ public void TrxSerializer_Serialize_ThenDeserialize_PreservesTestData() Assert.AreEqual("BuildAgent01", failed.ComputerName); Assert.AreEqual(TestOutcome.Failed, failed.Outcome); Assert.AreEqual(startTime.AddSeconds(2), failed.StartTime); - Assert.IsTrue(Math.Abs((failed.Duration - TimeSpan.FromSeconds(0.75)).TotalSeconds) < 0.001); + Assert.IsLessThan(0.001, Math.Abs((failed.Duration - TimeSpan.FromSeconds(0.75)).TotalSeconds)); Assert.AreEqual(string.Empty, failed.SystemOutput); Assert.AreEqual("err output", failed.SystemError); Assert.AreEqual("Expected 1 but was 2", failed.ErrorMessage); @@ -559,7 +559,7 @@ public void TrxSerializer_Serialize_ThenDeserialize_PreservesTestData() Assert.AreEqual("Suite.ErrorClass", error.ClassName); Assert.AreEqual(TestOutcome.Error, error.Outcome); Assert.AreEqual(startTime.AddSeconds(4), error.StartTime); - Assert.IsTrue(Math.Abs((error.Duration - TimeSpan.FromSeconds(0.25)).TotalSeconds) < 0.001); + Assert.IsLessThan(0.001, Math.Abs((error.Duration - TimeSpan.FromSeconds(0.25)).TotalSeconds)); Assert.AreEqual("NullReferenceException", error.ErrorMessage); Assert.AreEqual("at Suite.ErrorClass.ErrorTest() line 17", error.ErrorStackTrace); @@ -569,7 +569,7 @@ public void TrxSerializer_Serialize_ThenDeserialize_PreservesTestData() Assert.AreEqual("Suite.SkippedClass", skipped.ClassName); Assert.AreEqual(TestOutcome.NotExecuted, skipped.Outcome); Assert.AreEqual(startTime.AddSeconds(6), skipped.StartTime); - Assert.IsTrue(Math.Abs(skipped.Duration.TotalSeconds) < 0.001); + Assert.IsLessThan(0.001, Math.Abs(skipped.Duration.TotalSeconds)); } ///