From 4b6eb98377e031fbf46056dbc20fb87b365998f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Feb 2026 12:27:58 +0000 Subject: [PATCH 1/4] Initial plan From 8664451c684330b6648eefe77f19a9897b3ce1e3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Feb 2026 12:32:36 +0000 Subject: [PATCH 2/4] Fix Sonar code quality issues in test files Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --- .../ContextTests.cs | 8 ++++---- .../RequirementsReadTests.cs | 15 ++++----------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/test/DemaConsulting.ReqStream.Tests/ContextTests.cs b/test/DemaConsulting.ReqStream.Tests/ContextTests.cs index cdcad5a..a109d9a 100644 --- a/test/DemaConsulting.ReqStream.Tests/ContextTests.cs +++ b/test/DemaConsulting.ReqStream.Tests/ContextTests.cs @@ -469,8 +469,8 @@ public void Context_Create_WithRequirementsPattern_ExpandsGlobPattern() using var context = Context.Create(["--requirements", "*.yaml"]); Assert.HasCount(2, context.RequirementsFiles); - Assert.IsTrue(context.RequirementsFiles.Any(f => f.EndsWith("req1.yaml"))); - Assert.IsTrue(context.RequirementsFiles.Any(f => f.EndsWith("req2.yaml"))); + Assert.Contains("req1.yaml", context.RequirementsFiles); + Assert.Contains("req2.yaml", context.RequirementsFiles); Assert.AreEqual(0, context.ExitCode); } finally @@ -500,8 +500,8 @@ public void Context_Create_WithTestsPattern_ExpandsGlobPattern() using var context = Context.Create(["--tests", "*.trx"]); Assert.HasCount(2, context.TestFiles); - Assert.IsTrue(context.TestFiles.Any(f => f.EndsWith("test1.trx"))); - Assert.IsTrue(context.TestFiles.Any(f => f.EndsWith("test2.trx"))); + Assert.Contains("test1.trx", context.TestFiles); + Assert.Contains("test2.trx", context.TestFiles); Assert.AreEqual(0, context.ExitCode); } finally diff --git a/test/DemaConsulting.ReqStream.Tests/RequirementsReadTests.cs b/test/DemaConsulting.ReqStream.Tests/RequirementsReadTests.cs index a89b731..4f7b63d 100644 --- a/test/DemaConsulting.ReqStream.Tests/RequirementsReadTests.cs +++ b/test/DemaConsulting.ReqStream.Tests/RequirementsReadTests.cs @@ -786,17 +786,10 @@ public void Requirements_Read_MultipleFilesWithDuplicateIds_ThrowsException() File.WriteAllText(file1Path, file1Yaml); File.WriteAllText(file2Path, file2Yaml); - try - { - Requirements.Read(file1Path, file2Path); - Assert.Fail("Expected InvalidOperationException was not thrown"); - } - catch (InvalidOperationException ex) - { - Assert.Contains("SYS-SEC-001", ex.Message); - Assert.Contains("Duplicate requirement ID", ex.Message); - Assert.Contains(file2Path, ex.Message); - } + var ex = Assert.ThrowsExactly(() => Requirements.Read(file1Path, file2Path)); + Assert.Contains("SYS-SEC-001", ex.Message); + Assert.Contains("Duplicate requirement ID", ex.Message); + Assert.Contains(file2Path, ex.Message); } /// From 976a7e1ec4eedd238285b37eecae1b0ba5b1523d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Feb 2026 12:35:53 +0000 Subject: [PATCH 3/4] Fix Sonar issues with clear assertions Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --- test/DemaConsulting.ReqStream.Tests/ContextTests.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/DemaConsulting.ReqStream.Tests/ContextTests.cs b/test/DemaConsulting.ReqStream.Tests/ContextTests.cs index a109d9a..8ad6773 100644 --- a/test/DemaConsulting.ReqStream.Tests/ContextTests.cs +++ b/test/DemaConsulting.ReqStream.Tests/ContextTests.cs @@ -469,8 +469,8 @@ public void Context_Create_WithRequirementsPattern_ExpandsGlobPattern() using var context = Context.Create(["--requirements", "*.yaml"]); Assert.HasCount(2, context.RequirementsFiles); - Assert.Contains("req1.yaml", context.RequirementsFiles); - Assert.Contains("req2.yaml", context.RequirementsFiles); + Assert.AreEqual(1, context.RequirementsFiles.Count(f => f.EndsWith("req1.yaml"))); + Assert.AreEqual(1, context.RequirementsFiles.Count(f => f.EndsWith("req2.yaml"))); Assert.AreEqual(0, context.ExitCode); } finally @@ -500,8 +500,8 @@ public void Context_Create_WithTestsPattern_ExpandsGlobPattern() using var context = Context.Create(["--tests", "*.trx"]); Assert.HasCount(2, context.TestFiles); - Assert.Contains("test1.trx", context.TestFiles); - Assert.Contains("test2.trx", context.TestFiles); + Assert.AreEqual(1, context.TestFiles.Count(f => f.EndsWith("test1.trx"))); + Assert.AreEqual(1, context.TestFiles.Count(f => f.EndsWith("test2.trx"))); Assert.AreEqual(0, context.ExitCode); } finally From cce429b1d3957b74cf8395ad90d926310f49328e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Feb 2026 12:47:55 +0000 Subject: [PATCH 4/4] Use Assert.ContainsSingle for cleaner assertions Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --- test/DemaConsulting.ReqStream.Tests/ContextTests.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/DemaConsulting.ReqStream.Tests/ContextTests.cs b/test/DemaConsulting.ReqStream.Tests/ContextTests.cs index 8ad6773..f61fd43 100644 --- a/test/DemaConsulting.ReqStream.Tests/ContextTests.cs +++ b/test/DemaConsulting.ReqStream.Tests/ContextTests.cs @@ -469,8 +469,8 @@ public void Context_Create_WithRequirementsPattern_ExpandsGlobPattern() using var context = Context.Create(["--requirements", "*.yaml"]); Assert.HasCount(2, context.RequirementsFiles); - Assert.AreEqual(1, context.RequirementsFiles.Count(f => f.EndsWith("req1.yaml"))); - Assert.AreEqual(1, context.RequirementsFiles.Count(f => f.EndsWith("req2.yaml"))); + Assert.ContainsSingle(f => f.EndsWith("req1.yaml"), context.RequirementsFiles); + Assert.ContainsSingle(f => f.EndsWith("req2.yaml"), context.RequirementsFiles); Assert.AreEqual(0, context.ExitCode); } finally @@ -500,8 +500,8 @@ public void Context_Create_WithTestsPattern_ExpandsGlobPattern() using var context = Context.Create(["--tests", "*.trx"]); Assert.HasCount(2, context.TestFiles); - Assert.AreEqual(1, context.TestFiles.Count(f => f.EndsWith("test1.trx"))); - Assert.AreEqual(1, context.TestFiles.Count(f => f.EndsWith("test2.trx"))); + Assert.ContainsSingle(f => f.EndsWith("test1.trx"), context.TestFiles); + Assert.ContainsSingle(f => f.EndsWith("test2.trx"), context.TestFiles); Assert.AreEqual(0, context.ExitCode); } finally