From 4c4c74f4f02da28bf3a06d00486faf493e3fe2c7 Mon Sep 17 00:00:00 2001 From: laurentiu021 Date: Fri, 15 May 2026 09:06:57 +0300 Subject: [PATCH] =?UTF-8?q?test:=20improve=20test=20quality=20=E2=80=94=20?= =?UTF-8?q?[Collection]=20isolation,=20locale-safe=20assertions,=20stronge?= =?UTF-8?q?r=20sanitize=20check?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CleanupCategoryHumanSizeExtendedTests.cs | 4 +++- .../LogServiceSanitizeEdgeCaseTests.cs | 4 +++- .../OperationLockServiceEdgeCaseTests.cs | 23 +++++++++++++------ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/SysManager/SysManager.Tests/CleanupCategoryHumanSizeExtendedTests.cs b/SysManager/SysManager.Tests/CleanupCategoryHumanSizeExtendedTests.cs index 2281e474..966bea6a 100644 --- a/SysManager/SysManager.Tests/CleanupCategoryHumanSizeExtendedTests.cs +++ b/SysManager/SysManager.Tests/CleanupCategoryHumanSizeExtendedTests.cs @@ -123,7 +123,9 @@ public void LargeFileEntry_LastModifiedDisplay_FormatsCorrectly() LastModified = new DateTime(2024, 3, 1) }; Assert.Contains("2024", entry.LastModifiedDisplay); - Assert.Contains("Mar", entry.LastModifiedDisplay); + // Use the expected month name from the current culture to avoid locale failures + var expectedMonth = new DateTime(2024, 3, 1).ToString("MMM", System.Globalization.CultureInfo.CurrentCulture); + Assert.Contains(expectedMonth, entry.LastModifiedDisplay); } [Fact] diff --git a/SysManager/SysManager.Tests/LogServiceSanitizeEdgeCaseTests.cs b/SysManager/SysManager.Tests/LogServiceSanitizeEdgeCaseTests.cs index 820bcb24..ebc8f10d 100644 --- a/SysManager/SysManager.Tests/LogServiceSanitizeEdgeCaseTests.cs +++ b/SysManager/SysManager.Tests/LogServiceSanitizeEdgeCaseTests.cs @@ -39,10 +39,12 @@ public void SanitizePath_NoUserPath_ReturnsUnchanged() } [Fact] - public void SanitizePath_MultipleUsersInPath_ReplacesFirst() + public void SanitizePath_MultipleUsersInPath_ReplacesAll() { var result = LogService.SanitizePath(@"C:\Users\alice\backup\C:\Users\bob\file.txt"); Assert.Contains("[user]", result); + Assert.DoesNotContain("alice", result); + Assert.DoesNotContain("bob", result); } [Fact] diff --git a/SysManager/SysManager.Tests/OperationLockServiceEdgeCaseTests.cs b/SysManager/SysManager.Tests/OperationLockServiceEdgeCaseTests.cs index 5a130370..c5b2377b 100644 --- a/SysManager/SysManager.Tests/OperationLockServiceEdgeCaseTests.cs +++ b/SysManager/SysManager.Tests/OperationLockServiceEdgeCaseTests.cs @@ -3,6 +3,7 @@ namespace SysManager.Tests; +[Collection("OperationLock")] public class OperationLockServiceEdgeCaseTests { private static OperationLockService Service => OperationLockService.Instance; @@ -117,14 +118,22 @@ public void ActiveOperations_ReturnsSnapshot() public void PropertyChanged_FiredOnAcquire() { var changed = new List(); - Service.PropertyChanged += (_, e) => changed.Add(e.PropertyName!); + void handler(object? _, System.ComponentModel.PropertyChangedEventArgs e) => changed.Add(e.PropertyName!); + Service.PropertyChanged += handler; - var handle = Service.TryAcquire(OperationCategory.Disk, "PropChanged"); - Assert.NotNull(handle); - handle.Dispose(); - - Assert.Contains("ActiveOperations", changed); - Assert.Contains("HasActiveOperations", changed); + try + { + var handle = Service.TryAcquire(OperationCategory.Disk, "PropChanged"); + Assert.NotNull(handle); + handle.Dispose(); + + Assert.Contains("ActiveOperations", changed); + Assert.Contains("HasActiveOperations", changed); + } + finally + { + Service.PropertyChanged -= handler; + } } [Fact]