From a59a0573609cca69221dda5a25a72ff09921681f Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 12 Aug 2024 18:28:31 +1000 Subject: [PATCH 1/3] xunit3 --- docs/diff-tool.custom.md | 6 ++--- docs/diff-tool.md | 2 +- docs/diff-tool.order.md | 2 +- src/DiffEngine.Tests/DiffEngine.Tests.csproj | 1 - src/DiffEngine.Tests/DiffEngineTrayTest.cs | 3 +-- src/DiffEngine.Tests/DiffToolsTest.cs | 7 ++---- src/DiffEngine.Tests/GlobalUsings.cs | 3 +++ src/DiffEngine.Tests/LinuxOsxProcessTests.cs | 3 +-- src/DiffEngine.Tests/ModuleInitializer.cs | 1 + src/DiffEngine.Tests/OrderReaderTest.cs | 3 +-- .../OsSettingsResolverTest.cs | 3 +-- src/DiffEngine.Tests/ProcessCleanupTests.cs | 3 +-- src/DiffEngine.Tests/Source.cs | 10 ++++++++ .../WildcardFileFinderTests.cs | 23 +++++++++---------- .../DiffEngineTray.Tests.csproj | 3 +-- .../HotKeyControlTests.cs | 3 +-- src/DiffEngineTray.Tests/MenuBuilderTest.cs | 9 +++----- src/DiffEngineTray.Tests/OptionsFormTests.cs | 6 ++--- .../SolutionDirectoryFinderTests.cs | 5 ++-- src/DiffEngineTray.Tests/Source.cs | 10 ++++++++ src/DiffEngineTray.Tests/TrackerClearTest.cs | 16 ++++--------- src/DiffEngineTray.Tests/TrackerDeleteTest.cs | 7 +++--- src/DiffEngineTray.Tests/TrackerMoveTest.cs | 7 +++--- src/Directory.Packages.props | 1 - 24 files changed, 66 insertions(+), 71 deletions(-) create mode 100644 src/DiffEngine.Tests/GlobalUsings.cs create mode 100644 src/DiffEngine.Tests/Source.cs create mode 100644 src/DiffEngineTray.Tests/Source.cs diff --git a/docs/diff-tool.custom.md b/docs/diff-tool.custom.md index ea90e0c9..9bb68a6d 100644 --- a/docs/diff-tool.custom.md +++ b/docs/diff-tool.custom.md @@ -24,7 +24,7 @@ var resolvedTool = DiffTools.AddTool( exePath: diffToolPath, binaryExtensions: [".jpg"])!; ``` -snippet source | anchor +snippet source | anchor Add a tool based on existing resolved tool: @@ -39,7 +39,7 @@ var resolvedTool = DiffTools.AddToolBasedOn( Left: (temp, target) => $"\"custom args \"{target}\" \"{temp}\"", Right: (temp, target) => $"\"custom args \"{temp}\" \"{target}\""))!; ``` -snippet source | anchor +snippet source | anchor @@ -69,7 +69,7 @@ var resolvedTool = DiffTools.AddToolBasedOn( await DiffRunner.LaunchAsync(resolvedTool!, "PathToTempFile", "PathToTargetFile"); ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/diff-tool.md b/docs/diff-tool.md index d5970965..a522c53a 100644 --- a/docs/diff-tool.md +++ b/docs/diff-tool.md @@ -63,7 +63,7 @@ This value can also be set using [the DiffEngineTray options dialog](/docs/tray. ```cs DiffRunner.MaxInstancesToLaunch(10); ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/diff-tool.order.md b/docs/diff-tool.order.md index 54094ecb..57844574 100644 --- a/docs/diff-tool.order.md +++ b/docs/diff-tool.order.md @@ -51,5 +51,5 @@ For example `VisualStudio,Meld` will result in VisualStudio then Meld then all o ```cs DiffTools.UseOrder(DiffTool.VisualStudio, DiffTool.AraxisMerge); ``` -snippet source | anchor +snippet source | anchor diff --git a/src/DiffEngine.Tests/DiffEngine.Tests.csproj b/src/DiffEngine.Tests/DiffEngine.Tests.csproj index 965d1d11..8a294c5b 100644 --- a/src/DiffEngine.Tests/DiffEngine.Tests.csproj +++ b/src/DiffEngine.Tests/DiffEngine.Tests.csproj @@ -14,7 +14,6 @@ - diff --git a/src/DiffEngine.Tests/DiffEngineTrayTest.cs b/src/DiffEngine.Tests/DiffEngineTrayTest.cs index 47e9ac61..37558930 100644 --- a/src/DiffEngine.Tests/DiffEngineTrayTest.cs +++ b/src/DiffEngine.Tests/DiffEngineTrayTest.cs @@ -1,5 +1,4 @@ -public class DiffEngineTrayTest(ITestOutputHelper output) : - XunitContextBase(output) +public class DiffEngineTrayTest { [Fact] public void IsRunning() => diff --git a/src/DiffEngine.Tests/DiffToolsTest.cs b/src/DiffEngine.Tests/DiffToolsTest.cs index a2f5c0ae..70026dfc 100644 --- a/src/DiffEngine.Tests/DiffToolsTest.cs +++ b/src/DiffEngine.Tests/DiffToolsTest.cs @@ -1,5 +1,4 @@ -public class DiffToolsTest : - XunitContextBase +public class DiffToolsTest { [Fact] public void MaxInstancesToLaunch() => @@ -167,8 +166,6 @@ public void TryFindByName() } #endif **/ - public DiffToolsTest(ITestOutputHelper output) - : - base(output) => + public DiffToolsTest() => DiffTools.Reset(); } \ No newline at end of file diff --git a/src/DiffEngine.Tests/GlobalUsings.cs b/src/DiffEngine.Tests/GlobalUsings.cs new file mode 100644 index 00000000..d0ab6335 --- /dev/null +++ b/src/DiffEngine.Tests/GlobalUsings.cs @@ -0,0 +1,3 @@ +// Global using directives + +global using Xunit; \ No newline at end of file diff --git a/src/DiffEngine.Tests/LinuxOsxProcessTests.cs b/src/DiffEngine.Tests/LinuxOsxProcessTests.cs index 8e572943..a9b4958e 100644 --- a/src/DiffEngine.Tests/LinuxOsxProcessTests.cs +++ b/src/DiffEngine.Tests/LinuxOsxProcessTests.cs @@ -1,5 +1,4 @@ -public class LinuxOsxProcessTests(ITestOutputHelper output) : - XunitContextBase(output) +public class LinuxOsxProcessTests { [Fact] public void TryParseWithZshInstalled() diff --git a/src/DiffEngine.Tests/ModuleInitializer.cs b/src/DiffEngine.Tests/ModuleInitializer.cs index 2b1ce6dd..bf897aa5 100644 --- a/src/DiffEngine.Tests/ModuleInitializer.cs +++ b/src/DiffEngine.Tests/ModuleInitializer.cs @@ -5,6 +5,7 @@ public static class ModuleInitializer [ModuleInitializer] public static void Initialize() { + Source.Init(); Logging.Enable(); DiffRunner.Disabled = false; } diff --git a/src/DiffEngine.Tests/OrderReaderTest.cs b/src/DiffEngine.Tests/OrderReaderTest.cs index dca0de81..a6590146 100644 --- a/src/DiffEngine.Tests/OrderReaderTest.cs +++ b/src/DiffEngine.Tests/OrderReaderTest.cs @@ -1,5 +1,4 @@ -public class OrderReaderTest(ITestOutputHelper output) : - XunitContextBase(output) +public class OrderReaderTest { [Fact] public void ParseEnvironmentVariable() diff --git a/src/DiffEngine.Tests/OsSettingsResolverTest.cs b/src/DiffEngine.Tests/OsSettingsResolverTest.cs index 30e9052f..ab128de6 100644 --- a/src/DiffEngine.Tests/OsSettingsResolverTest.cs +++ b/src/DiffEngine.Tests/OsSettingsResolverTest.cs @@ -1,5 +1,4 @@ -public class OsSettingsResolverTest(ITestOutputHelper output) : - XunitContextBase(output) +public class OsSettingsResolverTest { [Fact] public void Simple() diff --git a/src/DiffEngine.Tests/ProcessCleanupTests.cs b/src/DiffEngine.Tests/ProcessCleanupTests.cs index 2592bfac..c56bfa76 100644 --- a/src/DiffEngine.Tests/ProcessCleanupTests.cs +++ b/src/DiffEngine.Tests/ProcessCleanupTests.cs @@ -1,5 +1,4 @@ -public class ProcessCleanupTests(ITestOutputHelper output) : - XunitContextBase(output) +public class ProcessCleanupTests { [Fact] public void Find() diff --git a/src/DiffEngine.Tests/Source.cs b/src/DiffEngine.Tests/Source.cs new file mode 100644 index 00000000..0feda957 --- /dev/null +++ b/src/DiffEngine.Tests/Source.cs @@ -0,0 +1,10 @@ +public static class Source +{ + public static void Init([CallerFilePath] string file = "") => + Directory = Path.GetDirectoryName(file)!; + + public static string File([CallerFilePath] string file = "") => + file; + + public static string Directory { get; private set; } = null!; +} \ No newline at end of file diff --git a/src/DiffEngine.Tests/WildcardFileFinderTests.cs b/src/DiffEngine.Tests/WildcardFileFinderTests.cs index 72ed0b8b..e7b74dc3 100644 --- a/src/DiffEngine.Tests/WildcardFileFinderTests.cs +++ b/src/DiffEngine.Tests/WildcardFileFinderTests.cs @@ -1,14 +1,13 @@ -public class WildcardFileFinderTests(ITestOutputHelper output) : - XunitContextBase(output) +public class WildcardFileFinderTests { [Fact] public void MultiMatchDir_order1() { - var dir1 = Path.Combine(SourceDirectory, "DirForSearch", "dir1"); - var dir2 = Path.Combine(SourceDirectory, "DirForSearch", "dir2"); + var dir1 = Path.Combine(Source.Directory, "DirForSearch", "dir1"); + var dir2 = Path.Combine(Source.Directory, "DirForSearch", "dir2"); Directory.SetLastWriteTime(dir2, DateTime.Now.AddDays(-1)); Directory.SetLastWriteTime(dir1, DateTime.Now); - var path = Path.Combine(SourceDirectory, "DirForSearch", "*", "TextFile1.txt"); + var path = Path.Combine(Source.Directory, "DirForSearch", "*", "TextFile1.txt"); Assert.True(WildcardFileFinder.TryFind(path, out var result)); Assert.True(File.Exists(result), result); } @@ -16,11 +15,11 @@ public void MultiMatchDir_order1() [Fact] public void MultiMatchDir_order2() { - var dir1 = Path.Combine(SourceDirectory, "DirForSearch", "dir1"); - var dir2 = Path.Combine(SourceDirectory, "DirForSearch", "dir2"); + var dir1 = Path.Combine(Source.Directory, "DirForSearch", "dir1"); + var dir2 = Path.Combine(Source.Directory, "DirForSearch", "dir2"); Directory.SetLastWriteTime(dir1, DateTime.Now.AddDays(-1)); Directory.SetLastWriteTime(dir2, DateTime.Now); - var path = Path.Combine(SourceDirectory, "DirForSearch", "*", "TextFile1.txt"); + var path = Path.Combine(Source.Directory, "DirForSearch", "*", "TextFile1.txt"); Assert.True(WildcardFileFinder.TryFind(path, out var result)); Assert.True(File.Exists(result), result); } @@ -28,14 +27,14 @@ public void MultiMatchDir_order2() [Fact] public void FullFilePath() { - Assert.True(WildcardFileFinder.TryFind(SourceFile, out var result)); + Assert.True(WildcardFileFinder.TryFind(Source.File(), out var result)); Assert.True(File.Exists(result), result); } [Fact] public void FullFilePath_missing() { - Assert.False(WildcardFileFinder.TryFind(SourceFile.Replace(".cs", ".foo"), out var result)); + Assert.False(WildcardFileFinder.TryFind(Source.File().Replace(".cs", ".foo"), out var result)); Assert.Null(result); } @@ -58,7 +57,7 @@ public void FullFilePath_missing() [Fact] public void WildCardInDir() { - var directory = SourceDirectory.Replace("Tests", "Test*"); + var directory = Source.Directory.Replace("Tests", "Test*"); var path = Path.Combine(directory, "WildcardFileFinderTests.cs"); Assert.True(WildcardFileFinder.TryFind(path, out var result)); Assert.True(File.Exists(result), result); @@ -67,7 +66,7 @@ public void WildCardInDir() [Fact] public void WildCardInDir_missing() { - var directory = SourceDirectory.Replace("Tests", "Test*.Foo"); + var directory = Source.Directory.Replace("Tests", "Test*.Foo"); var path = Path.Combine(directory, "WildcardFileFinderTests.cs"); Assert.False(WildcardFileFinder.TryFind(path, out var result)); Assert.Null(result); diff --git a/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj b/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj index d8d6b12c..9440ca0e 100644 --- a/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj +++ b/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj @@ -2,7 +2,7 @@ net8.0-windows - CA1416 + $(NoWarn);CA1416;xUnit1051 @@ -15,7 +15,6 @@ - diff --git a/src/DiffEngineTray.Tests/HotKeyControlTests.cs b/src/DiffEngineTray.Tests/HotKeyControlTests.cs index a19a7b6b..c5a8f7d3 100644 --- a/src/DiffEngineTray.Tests/HotKeyControlTests.cs +++ b/src/DiffEngineTray.Tests/HotKeyControlTests.cs @@ -1,6 +1,5 @@ #if DEBUG -public class HotKeyControlTests(ITestOutputHelper output) : - XunitContextBase(output) +public class HotKeyControlTests { [Fact] public async Task WithKeys() diff --git a/src/DiffEngineTray.Tests/MenuBuilderTest.cs b/src/DiffEngineTray.Tests/MenuBuilderTest.cs index c8e3f566..37d5e499 100644 --- a/src/DiffEngineTray.Tests/MenuBuilderTest.cs +++ b/src/DiffEngineTray.Tests/MenuBuilderTest.cs @@ -1,7 +1,6 @@ using EmptyFiles; -public class MenuBuilderTest : - XunitContextBase +public class MenuBuilderTest: IDisposable { static Action emptyAction = () => { @@ -115,8 +114,7 @@ public async Task FullGrouped() await Verify(menu, settings); } - public MenuBuilderTest(ITestOutputHelper output) : - base(output) + public MenuBuilderTest() { settings = new(); file1 = Path.GetFullPath("file1.txt"); @@ -129,13 +127,12 @@ public MenuBuilderTest(ITestOutputHelper output) : File.WriteAllText(file4, ""); } - public override void Dispose() + public void Dispose() { File.Delete(file1); File.Delete(file2); File.Delete(file3); File.Delete(file4); - base.Dispose(); } string file1; diff --git a/src/DiffEngineTray.Tests/OptionsFormTests.cs b/src/DiffEngineTray.Tests/OptionsFormTests.cs index c32df1f5..073ea969 100644 --- a/src/DiffEngineTray.Tests/OptionsFormTests.cs +++ b/src/DiffEngineTray.Tests/OptionsFormTests.cs @@ -1,9 +1,7 @@ #if DEBUG -public class OptionsFormTests : - XunitContextBase +public class OptionsFormTests { - public OptionsFormTests(ITestOutputHelper output) : - base(output) => + public OptionsFormTests() => VersionReader.VersionString = "TheVersion"; //[Fact] diff --git a/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs b/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs index cf884452..5ed858cb 100644 --- a/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs +++ b/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs @@ -1,9 +1,8 @@ #if DEBUG -public class SolutionDirectoryFinderTests(ITestOutputHelper output) : - XunitContextBase(output) +public class SolutionDirectoryFinderTests { [Fact] public Task Find() => - Verify(SolutionDirectoryFinder.Find(SourceFile)); + Verify(SolutionDirectoryFinder.Find(Source.File())); } #endif \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/Source.cs b/src/DiffEngineTray.Tests/Source.cs new file mode 100644 index 00000000..0feda957 --- /dev/null +++ b/src/DiffEngineTray.Tests/Source.cs @@ -0,0 +1,10 @@ +public static class Source +{ + public static void Init([CallerFilePath] string file = "") => + Directory = Path.GetDirectoryName(file)!; + + public static string File([CallerFilePath] string file = "") => + file; + + public static string Directory { get; private set; } = null!; +} \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/TrackerClearTest.cs b/src/DiffEngineTray.Tests/TrackerClearTest.cs index 3d03166d..84f249bb 100644 --- a/src/DiffEngineTray.Tests/TrackerClearTest.cs +++ b/src/DiffEngineTray.Tests/TrackerClearTest.cs @@ -1,5 +1,5 @@ public class TrackerClearTest : - XunitContextBase + IDisposable { [Fact] public async Task Simple() @@ -11,20 +11,12 @@ public async Task Simple() tracker.AssertEmpty(); } - public TrackerClearTest(ITestOutputHelper output) : - base(output) - { - file1 = Path.GetTempFileName(); - file2 = Path.GetTempFileName(); - } - - public override void Dispose() + public void Dispose() { File.Delete(file1); File.Delete(file2); - base.Dispose(); } - string file1; - string file2; + string file1 = Path.GetTempFileName(); + string file2 = Path.GetTempFileName(); } \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/TrackerDeleteTest.cs b/src/DiffEngineTray.Tests/TrackerDeleteTest.cs index cf17ed7f..a1238790 100644 --- a/src/DiffEngineTray.Tests/TrackerDeleteTest.cs +++ b/src/DiffEngineTray.Tests/TrackerDeleteTest.cs @@ -1,5 +1,5 @@ -public class TrackerDeleteTest(ITestOutputHelper output) : - XunitContextBase(output) +public class TrackerDeleteTest : + IDisposable { [Fact] public async Task AddSingle() @@ -79,12 +79,11 @@ public async Task AcceptSingle_NotEmpty() Assert.True(tracker.TrackingAny); } - public override void Dispose() + public void Dispose() { File.Delete(file1); File.Delete(file2); File.Delete(file3); - base.Dispose(); } string file1 = Path.GetTempFileName(); diff --git a/src/DiffEngineTray.Tests/TrackerMoveTest.cs b/src/DiffEngineTray.Tests/TrackerMoveTest.cs index 109b0eb4..94353eda 100644 --- a/src/DiffEngineTray.Tests/TrackerMoveTest.cs +++ b/src/DiffEngineTray.Tests/TrackerMoveTest.cs @@ -1,5 +1,5 @@ -public class TrackerMoveTest(ITestOutputHelper output) : - XunitContextBase(output) +public class TrackerMoveTest : + IDisposable { [Fact] public async Task AddSingle() @@ -95,12 +95,11 @@ public async Task AcceptSingle_NotEmpty() Assert.True(tracker.TrackingAny); } - public override void Dispose() + public void Dispose() { File.Delete(file1); File.Delete(file2); File.Delete(file3); - base.Dispose(); } string file1 = Path.GetTempFileName(); diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 5526c80c..81503a0d 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -28,6 +28,5 @@ - \ No newline at end of file From 2a50fa2adba3f414bff2d7692e6bd5cd840b4159 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 12 Aug 2024 20:15:42 +1000 Subject: [PATCH 2/3] . --- docs/diff-tool.custom.md | 8 +-- docs/diff-tool.md | 2 +- docs/diff-tool.order.md | 2 +- readme.md | 4 +- src/DiffEngine.Tests/DiffEngine.Tests.csproj | 6 +- src/DiffEngine.Tests/DiffEngineTrayTest.cs | 7 ++- src/DiffEngine.Tests/DiffRunnerTests.cs | 19 +++--- src/DiffEngine.Tests/DiffToolsTest.cs | 41 +++++++------ src/DiffEngine.Tests/GlobalUsings.cs | 2 +- src/DiffEngine.Tests/LinuxOsxProcessTests.cs | 35 +++++------ src/DiffEngine.Tests/ModuleInitializer.cs | 2 +- src/DiffEngine.Tests/OrderReaderTest.cs | 15 ++--- .../OsSettingsResolverTest.cs | 59 ++++++++++--------- src/DiffEngine.Tests/ProcessCleanupTests.cs | 7 ++- .../WildcardFileFinderTests.cs | 39 ++++++------ src/DiffEngineTray.Tests/AsyncTimerTests.cs | 21 +++---- .../DiffEngineTray.Tests.csproj | 9 +-- src/DiffEngineTray.Tests/GlobalUsings.cs | 3 + .../HotKeyControlTests.cs | 5 +- src/DiffEngineTray.Tests/MenuBuilderTest.cs | 18 +++--- src/DiffEngineTray.Tests/OptionsFormTests.cs | 5 +- src/DiffEngineTray.Tests/PiperTest.cs | 24 ++++---- src/DiffEngineTray.Tests/ProcessExTest.cs | 17 +++--- src/DiffEngineTray.Tests/RecordingTracker.cs | 6 +- .../SolutionDirectoryFinderTests.cs | 3 +- src/DiffEngineTray.Tests/TrackerClearTest.cs | 5 +- src/DiffEngineTray.Tests/TrackerDeleteTest.cs | 35 +++++------ src/DiffEngineTray.Tests/TrackerMoveTest.cs | 41 ++++++------- src/DiffEngineTray.Tests/VersionReaderTest.cs | 9 +-- src/Directory.Packages.props | 5 +- 30 files changed, 239 insertions(+), 215 deletions(-) create mode 100644 src/DiffEngineTray.Tests/GlobalUsings.cs diff --git a/docs/diff-tool.custom.md b/docs/diff-tool.custom.md index 9bb68a6d..4228c53e 100644 --- a/docs/diff-tool.custom.md +++ b/docs/diff-tool.custom.md @@ -24,7 +24,7 @@ var resolvedTool = DiffTools.AddTool( exePath: diffToolPath, binaryExtensions: [".jpg"])!; ``` -snippet source | anchor +snippet source | anchor Add a tool based on existing resolved tool: @@ -39,7 +39,7 @@ var resolvedTool = DiffTools.AddToolBasedOn( Left: (temp, target) => $"\"custom args \"{target}\" \"{temp}\"", Right: (temp, target) => $"\"custom args \"{temp}\" \"{target}\""))!; ``` -snippet source | anchor +snippet source | anchor @@ -52,7 +52,7 @@ New tools are added to the top of the order, the last tool added will resolve be ```cs await DiffRunner.LaunchAsync(tempFile, targetFile); ``` -snippet source | anchor +snippet source | anchor Alternatively the instance returned from `AddTool*` can be used to explicitly launch that tool. @@ -69,7 +69,7 @@ var resolvedTool = DiffTools.AddToolBasedOn( await DiffRunner.LaunchAsync(resolvedTool!, "PathToTempFile", "PathToTargetFile"); ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/diff-tool.md b/docs/diff-tool.md index a522c53a..d5970965 100644 --- a/docs/diff-tool.md +++ b/docs/diff-tool.md @@ -63,7 +63,7 @@ This value can also be set using [the DiffEngineTray options dialog](/docs/tray. ```cs DiffRunner.MaxInstancesToLaunch(10); ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/diff-tool.order.md b/docs/diff-tool.order.md index 57844574..d5efe981 100644 --- a/docs/diff-tool.order.md +++ b/docs/diff-tool.order.md @@ -51,5 +51,5 @@ For example `VisualStudio,Meld` will result in VisualStudio then Meld then all o ```cs DiffTools.UseOrder(DiffTool.VisualStudio, DiffTool.AraxisMerge); ``` -snippet source | anchor +snippet source | anchor diff --git a/readme.md b/readme.md index 9d85a9fe..b5f60e0e 100644 --- a/readme.md +++ b/readme.md @@ -83,7 +83,7 @@ A tool can be launched using the following: ```cs await DiffRunner.LaunchAsync(tempFile, targetFile); ``` -snippet source | anchor +snippet source | anchor Note that this method will respect the above [difference behavior](/docs/diff-tool.md#detected-difference-behavior) in terms of Auto refresh and MDI behaviors. @@ -98,7 +98,7 @@ A tool can be closed using the following: ```cs DiffRunner.Kill(file1, file2); ``` -snippet source | anchor +snippet source | anchor Note that this method will respect the above [difference behavior](/docs/diff-tool.md#detected-difference-behavior) in terms of MDI behavior. diff --git a/src/DiffEngine.Tests/DiffEngine.Tests.csproj b/src/DiffEngine.Tests/DiffEngine.Tests.csproj index 8a294c5b..2c929007 100644 --- a/src/DiffEngine.Tests/DiffEngine.Tests.csproj +++ b/src/DiffEngine.Tests/DiffEngine.Tests.csproj @@ -11,10 +11,12 @@ - - + + + + \ No newline at end of file diff --git a/src/DiffEngine.Tests/DiffEngineTrayTest.cs b/src/DiffEngine.Tests/DiffEngineTrayTest.cs index 37558930..ead915ca 100644 --- a/src/DiffEngine.Tests/DiffEngineTrayTest.cs +++ b/src/DiffEngine.Tests/DiffEngineTrayTest.cs @@ -1,6 +1,7 @@ -public class DiffEngineTrayTest +[TestFixture] +public class DiffEngineTrayTest { - [Fact] + [Test] public void IsRunning() => - Assert.False(DiffEngineTray.IsRunning); + False(DiffEngineTray.IsRunning); } \ No newline at end of file diff --git a/src/DiffEngine.Tests/DiffRunnerTests.cs b/src/DiffEngine.Tests/DiffRunnerTests.cs index eff443ec..9a56c123 100644 --- a/src/DiffEngine.Tests/DiffRunnerTests.cs +++ b/src/DiffEngine.Tests/DiffRunnerTests.cs @@ -1,6 +1,5 @@ #if NET8_0 -public class DiffRunnerTests : - XunitContextBase +public class DiffRunnerTests { static ResolvedTool tool; string file2; @@ -17,10 +16,10 @@ public async Task MaxInstancesToLaunch() ProcessCleanup.Refresh(); var result = DiffRunner.Launch(file1, "fake.txt"); await Task.Delay(300); - Assert.Equal(LaunchResult.StartedNewInstance, result); + AreEqual(LaunchResult.StartedNewInstance, result); ProcessCleanup.Refresh(); result = DiffRunner.Launch(file2, "fake.txt"); - Assert.Equal(LaunchResult.TooManyRunningDiffTools, result); + AreEqual(LaunchResult.TooManyRunningDiffTools, result); ProcessCleanup.Refresh(); DiffRunner.Kill(file1, "fake.txt"); DiffRunner.Kill(file2, "fake.txt"); @@ -41,10 +40,10 @@ public async Task MaxInstancesToLaunchAsync() ProcessCleanup.Refresh(); var result = await DiffRunner.LaunchAsync(file1, "fake.txt"); await Task.Delay(300); - Assert.Equal(LaunchResult.StartedNewInstance, result); + AreEqual(LaunchResult.StartedNewInstance, result); ProcessCleanup.Refresh(); result = await DiffRunner.LaunchAsync(file2, "fake.txt"); - Assert.Equal(LaunchResult.TooManyRunningDiffTools, result); + AreEqual(LaunchResult.TooManyRunningDiffTools, result); ProcessCleanup.Refresh(); DiffRunner.Kill(file1, "fake.txt"); DiffRunner.Kill(file2, "fake.txt"); @@ -89,7 +88,7 @@ public void LaunchAndKillDisabled() Assert.False(IsRunning()); Assert.False(ProcessCleanup.IsRunning(command)); var result = DiffRunner.Launch(file1, file2); - Assert.Equal(LaunchResult.Disabled, result); + AreEqual(LaunchResult.Disabled, result); Thread.Sleep(500); ProcessCleanup.Refresh(); Assert.False(IsRunning()); @@ -115,7 +114,7 @@ public async Task LaunchAndKillDisabledAsync() Assert.False(IsRunning()); Assert.False(ProcessCleanup.IsRunning(command)); var result = await DiffRunner.LaunchAsync(file1, file2); - Assert.Equal(LaunchResult.Disabled, result); + AreEqual(LaunchResult.Disabled, result); Thread.Sleep(500); ProcessCleanup.Refresh(); Assert.False(IsRunning()); @@ -138,7 +137,7 @@ public void LaunchAndKill() Assert.False(IsRunning()); Assert.False(ProcessCleanup.IsRunning(command)); var result = DiffRunner.Launch(file1, file2); - Assert.Equal(LaunchResult.StartedNewInstance, result); + AreEqual(LaunchResult.StartedNewInstance, result); Thread.Sleep(500); ProcessCleanup.Refresh(); Assert.True(IsRunning()); @@ -156,7 +155,7 @@ public async Task LaunchAndKillAsync() Assert.False(IsRunning()); Assert.False(ProcessCleanup.IsRunning(command)); var result = await DiffRunner.LaunchAsync(file1, file2); - Assert.Equal(LaunchResult.StartedNewInstance, result); + AreEqual(LaunchResult.StartedNewInstance, result); Thread.Sleep(500); ProcessCleanup.Refresh(); Assert.True(IsRunning()); diff --git a/src/DiffEngine.Tests/DiffToolsTest.cs b/src/DiffEngine.Tests/DiffToolsTest.cs index 70026dfc..033c6e99 100644 --- a/src/DiffEngine.Tests/DiffToolsTest.cs +++ b/src/DiffEngine.Tests/DiffToolsTest.cs @@ -1,14 +1,16 @@ -public class DiffToolsTest +[TestFixture] +public class DiffToolsTest { - [Fact] + [Test] public void MaxInstancesToLaunch() => #region MaxInstancesToLaunch DiffRunner.MaxInstancesToLaunch(10); #endregion - [Fact] + [Test] public void AddTool() { + DiffTools.Reset(); var diffToolPath = FakeDiffTool.Exe; #region AddTool @@ -27,15 +29,16 @@ public void AddTool() #endregion - Assert.Equal(resolvedTool.Name, DiffTools.Resolved.First() + AreEqual(resolvedTool.Name, DiffTools.Resolved.First() .Name); - Assert.True(DiffTools.TryFindByExtension(".jpg", out var forExtension)); - Assert.Equal(resolvedTool.Name, forExtension.Name); + True(DiffTools.TryFindByExtension(".jpg", out var forExtension)); + AreEqual(resolvedTool.Name, forExtension!.Name); } - [Fact] + [Test] public void OrderShouldNotMessWithAddTool() { + DiffTools.Reset(); var diffToolPath = FakeDiffTool.Exe; var resolvedTool = DiffTools.AddTool( name: "MyCustomDiffTool", @@ -49,15 +52,16 @@ public void OrderShouldNotMessWithAddTool() exePath: diffToolPath, binaryExtensions: [])!; DiffTools.UseOrder(DiffTool.VisualStudio, DiffTool.AraxisMerge); - Assert.Equal("MyCustomDiffTool", resolvedTool.Name); - Assert.True(DiffTools.TryFindByExtension(".txt", out var forExtension)); - Assert.Equal("MyCustomDiffTool", forExtension.Name); + AreEqual("MyCustomDiffTool", resolvedTool.Name); + True(DiffTools.TryFindByExtension(".txt", out var forExtension)); + AreEqual("MyCustomDiffTool", forExtension!.Name); } #if DEBUG - [Fact] + [Test] public void AddToolBasedOn() { + DiffTools.Reset(); #region AddToolBasedOn var resolvedTool = DiffTools.AddToolBasedOn( @@ -69,15 +73,16 @@ public void AddToolBasedOn() #endregion - Assert.Equal(resolvedTool, DiffTools.Resolved.First()); - Assert.True(DiffTools.TryFindByExtension(".txt", out var forExtension)); - Assert.Equal(resolvedTool, forExtension); - Assert.Equal("\"custom args \"bar\" \"foo\"", resolvedTool.LaunchArguments.Left("foo", "bar")); - Assert.Equal("\"custom args \"foo\" \"bar\"", resolvedTool.LaunchArguments.Right("foo", "bar")); + AreEqual(resolvedTool, DiffTools.Resolved.First()); + True(DiffTools.TryFindByExtension(".txt", out var forExtension)); + AreEqual(resolvedTool, forExtension); + AreEqual("\"custom args \"bar\" \"foo\"", resolvedTool.LaunchArguments.Left("foo", "bar")); + AreEqual("\"custom args \"foo\" \"bar\"", resolvedTool.LaunchArguments.Right("foo", "bar")); } #endif static async Task AddToolAndLaunch() { + DiffTools.Reset(); #region AddToolAndLaunch var resolvedTool = DiffTools.AddToolBasedOn( @@ -141,7 +146,7 @@ public void ChangeOrder() #endregion - Assert.Equal(DiffTool.VisualStudio, DiffTools.Resolved.First() + AreEqual(DiffTool.VisualStudio, DiffTools.Resolved.First() .Tool); } @@ -166,6 +171,4 @@ public void TryFindByName() } #endif **/ - public DiffToolsTest() => - DiffTools.Reset(); } \ No newline at end of file diff --git a/src/DiffEngine.Tests/GlobalUsings.cs b/src/DiffEngine.Tests/GlobalUsings.cs index d0ab6335..f0525170 100644 --- a/src/DiffEngine.Tests/GlobalUsings.cs +++ b/src/DiffEngine.Tests/GlobalUsings.cs @@ -1,3 +1,3 @@ // Global using directives -global using Xunit; \ No newline at end of file +global using NUnit.Framework.Legacy; \ No newline at end of file diff --git a/src/DiffEngine.Tests/LinuxOsxProcessTests.cs b/src/DiffEngine.Tests/LinuxOsxProcessTests.cs index a9b4958e..79e5e3e3 100644 --- a/src/DiffEngine.Tests/LinuxOsxProcessTests.cs +++ b/src/DiffEngine.Tests/LinuxOsxProcessTests.cs @@ -1,42 +1,43 @@ -public class LinuxOsxProcessTests +[TestFixture] +public class LinuxOsxProcessTests { - [Fact] + [Test] public void TryParseWithZshInstalled() { var parse = LinuxOsxProcess.TryParse("20872 -zsh", out var command); - Assert.True(parse); + True(parse); var processCommand = command!.Value; - Assert.Equal(20872, processCommand.Process); - Assert.Equal("-zsh", processCommand.Command); + AreEqual(20872, processCommand.Process); + AreEqual("-zsh", processCommand.Command); } - [Fact] + [Test] public void TryParse() { var parse = LinuxOsxProcess.TryParse("309 /System/Library/coreauthd -foo", out var command); - Assert.True(parse); + True(parse); var processCommand = command!.Value; - Assert.Equal(309, processCommand.Process); - Assert.Equal("/System/Library/coreauthd -foo", processCommand.Command); + AreEqual(309, processCommand.Process); + AreEqual("/System/Library/coreauthd -foo", processCommand.Command); } - [Fact] + [Test] public void TryParse_noSlash() { var parse = LinuxOsxProcess.TryParse("309 System/Library/coreauthd -foo", out var command); - Assert.True(parse); + True(parse); var processCommand = command!.Value; - Assert.Equal(309, processCommand.Process); - Assert.Equal("System/Library/coreauthd -foo", processCommand.Command); + AreEqual(309, processCommand.Process); + AreEqual("System/Library/coreauthd -foo", processCommand.Command); } - [Fact] + [Test] public void TryParse_singleDigit() { var parse = LinuxOsxProcess.TryParse("309 System/Library/coreauthd -foo", out var command); - Assert.True(parse); + True(parse); var processCommand = command!.Value; - Assert.Equal(309, processCommand.Process); - Assert.Equal("System/Library/coreauthd -foo", processCommand.Command); + AreEqual(309, processCommand.Process); + AreEqual("System/Library/coreauthd -foo", processCommand.Command); } } \ No newline at end of file diff --git a/src/DiffEngine.Tests/ModuleInitializer.cs b/src/DiffEngine.Tests/ModuleInitializer.cs index bf897aa5..333cb126 100644 --- a/src/DiffEngine.Tests/ModuleInitializer.cs +++ b/src/DiffEngine.Tests/ModuleInitializer.cs @@ -1,4 +1,4 @@ -[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true)] +[assembly: NonParallelizable] public static class ModuleInitializer { diff --git a/src/DiffEngine.Tests/OrderReaderTest.cs b/src/DiffEngine.Tests/OrderReaderTest.cs index a6590146..20140c7a 100644 --- a/src/DiffEngine.Tests/OrderReaderTest.cs +++ b/src/DiffEngine.Tests/OrderReaderTest.cs @@ -1,17 +1,18 @@ -public class OrderReaderTest +[TestFixture] +public class OrderReaderTest { - [Fact] + [Test] public void ParseEnvironmentVariable() { var diffTools = OrderReader.ParseEnvironment("VisualStudio,Meld").ToList(); - Assert.Equal(DiffTool.VisualStudio, diffTools[0]); - Assert.Equal(DiffTool.Meld, diffTools[1]); + AreEqual(DiffTool.VisualStudio, diffTools[0]); + AreEqual(DiffTool.Meld, diffTools[1]); } - [Fact] + [Test] public void BadEnvironmentVariable() { - var exception = Assert.Throws(() => OrderReader.ParseEnvironment("Foo").ToList()); - Assert.Equal("Unable to parse tool from `DiffEngine_ToolOrder` environment variable: Foo", exception.Message); + var exception = Throws(() => OrderReader.ParseEnvironment("Foo").ToList()); + AreEqual("Unable to parse tool from `DiffEngine_ToolOrder` environment variable: Foo", exception!.Message); } } \ No newline at end of file diff --git a/src/DiffEngine.Tests/OsSettingsResolverTest.cs b/src/DiffEngine.Tests/OsSettingsResolverTest.cs index ab128de6..1b799a3d 100644 --- a/src/DiffEngine.Tests/OsSettingsResolverTest.cs +++ b/src/DiffEngine.Tests/OsSettingsResolverTest.cs @@ -1,37 +1,38 @@ +[TestFixture] public class OsSettingsResolverTest { - [Fact] + [Test] public void Simple() { var paths = OsSettingsResolver.ExpandProgramFiles(["Path"]).ToList(); - Assert.Equal("Path", paths.Single()); + AreEqual("Path", paths.Single()); } - [Fact] + [Test] public void Expand() { var paths = OsSettingsResolver.ExpandProgramFiles([@"%ProgramFiles%\Path"]).ToList(); - Assert.Equal(@"%ProgramFiles%\Path", paths[0]); - Assert.Equal(@"%ProgramW6432%\Path", paths[1]); - Assert.Equal(@"%ProgramFiles(x86)%\Path", paths[2]); + AreEqual(@"%ProgramFiles%\Path", paths[0]); + AreEqual(@"%ProgramW6432%\Path", paths[1]); + AreEqual(@"%ProgramFiles(x86)%\Path", paths[2]); } - [Fact] + [Test] public void TryFindForEnvironmentVariable_NoEnv() { - Assert.False(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "FakeTool.exe", out var envPath)); - Assert.Null(envPath); + False(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "FakeTool.exe", out var envPath)); + Null(envPath); } - [Fact] + [Test] public void TryFindForEnvironmentVariable_WithEnvFile() { var location = Assembly.GetExecutingAssembly().Location; Environment.SetEnvironmentVariable("DiffEngine_FakeTool", location); try { - Assert.True(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "DiffEngine.Tests.dll", out var envPath)); - Assert.Equal(location, envPath); + True(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "DiffEngine.Tests.dll", out var envPath)); + AreEqual(location, envPath); } finally { @@ -39,15 +40,15 @@ public void TryFindForEnvironmentVariable_WithEnvFile() } } - [Fact] + [Test] public void TryFindForEnvironmentVariable_WithEnvFile_incorrectCase() { var location = Assembly.GetExecutingAssembly().Location; Environment.SetEnvironmentVariable("DiffEngine_FakeTool", location); try { - Assert.True(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "diffengine.tests.dll", out var envPath)); - Assert.Equal(location, envPath); + True(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "diffengine.tests.dll", out var envPath)); + AreEqual(location, envPath); } finally { @@ -55,15 +56,15 @@ public void TryFindForEnvironmentVariable_WithEnvFile_incorrectCase() } } - [Fact] + [Test] public void TryFindForEnvironmentVariable_WithEnvDir() { var location = Assembly.GetExecutingAssembly().Location; Environment.SetEnvironmentVariable("DiffEngine_FakeTool", Path.GetDirectoryName(location)); try { - Assert.True(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "DiffEngine.Tests.dll", out var envPath)); - Assert.Equal(location, envPath); + True(OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "DiffEngine.Tests.dll", out var envPath)); + AreEqual(location, envPath); } finally { @@ -71,15 +72,15 @@ public void TryFindForEnvironmentVariable_WithEnvDir() } } - [Fact] + [Test] public void TryFindForEnvironmentVariable_WithEnv_BadPath() { var location = Assembly.GetExecutingAssembly().Location; Environment.SetEnvironmentVariable("DiffEngine_FakeTool", location); try { - var exception = Assert.Throws(()=>OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "NoFile.dll", out _)); - Assert.Equal(exception.Message, $"Could not find exe defined by DiffEngine_FakeTool. Path: {location}"); + var exception = Throws(()=>OsSettingsResolver.TryFindForEnvironmentVariable("FakeTool", "NoFile.dll", out _))!; + AreEqual(exception.Message, $"Could not find exe defined by DiffEngine_FakeTool. Path: {location}"); } finally { @@ -87,26 +88,26 @@ public void TryFindForEnvironmentVariable_WithEnv_BadPath() } } - [Fact] + [Test] public void EnvPath() { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { var found = OsSettingsResolver.TryFindInEnvPath("cmd.exe", out var filePath); - Assert.True(found); - Assert.Equal(@"C:\Windows\System32\cmd.exe", filePath, ignoreCase: true); + True(found); + AreEqual(@"c:\windows\system32\cmd.exe", filePath!.ToLower()); } if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { var found = OsSettingsResolver.TryFindInEnvPath("sh", out var filePath); - Assert.True(found); - Assert.NotNull(filePath); + True(found); + NotNull(filePath); } } - [Fact] + [Test] public void EnvVar() { var launchArguments = new LaunchArguments( @@ -123,7 +124,7 @@ public void EnvVar() new(Windows: new("cmd.exe", launchArguments, "")), out var filePath, out _); - Assert.True(found); - Assert.Equal(@"C:\Windows\System32\cmd.exe", filePath, ignoreCase: true); + True(found); + AreEqual(@"c:\windows\system32\cmd.exe", filePath!.ToLower()); } } \ No newline at end of file diff --git a/src/DiffEngine.Tests/ProcessCleanupTests.cs b/src/DiffEngine.Tests/ProcessCleanupTests.cs index c56bfa76..eec2f286 100644 --- a/src/DiffEngine.Tests/ProcessCleanupTests.cs +++ b/src/DiffEngine.Tests/ProcessCleanupTests.cs @@ -1,11 +1,12 @@ -public class ProcessCleanupTests +[TestFixture] +public class ProcessCleanupTests { - [Fact] + [Test] public void Find() { var list = ProcessCleanup.FindAll().ToList(); // new processes have large Ids - Assert.True(list[0].Process > list[1].Process); + True(list[0].Process > list[1].Process); foreach (var x in list) { Debug.WriteLine($"{x.Process} {x.Command}"); diff --git a/src/DiffEngine.Tests/WildcardFileFinderTests.cs b/src/DiffEngine.Tests/WildcardFileFinderTests.cs index e7b74dc3..031cb3fe 100644 --- a/src/DiffEngine.Tests/WildcardFileFinderTests.cs +++ b/src/DiffEngine.Tests/WildcardFileFinderTests.cs @@ -1,6 +1,7 @@ -public class WildcardFileFinderTests +[TestFixture] +public class WildcardFileFinderTests { - [Fact] + [Test] public void MultiMatchDir_order1() { var dir1 = Path.Combine(Source.Directory, "DirForSearch", "dir1"); @@ -8,11 +9,11 @@ public void MultiMatchDir_order1() Directory.SetLastWriteTime(dir2, DateTime.Now.AddDays(-1)); Directory.SetLastWriteTime(dir1, DateTime.Now); var path = Path.Combine(Source.Directory, "DirForSearch", "*", "TextFile1.txt"); - Assert.True(WildcardFileFinder.TryFind(path, out var result)); - Assert.True(File.Exists(result), result); + True(WildcardFileFinder.TryFind(path, out var result)); + True(File.Exists(result), result!); } - [Fact] + [Test] public void MultiMatchDir_order2() { var dir1 = Path.Combine(Source.Directory, "DirForSearch", "dir1"); @@ -20,22 +21,22 @@ public void MultiMatchDir_order2() Directory.SetLastWriteTime(dir1, DateTime.Now.AddDays(-1)); Directory.SetLastWriteTime(dir2, DateTime.Now); var path = Path.Combine(Source.Directory, "DirForSearch", "*", "TextFile1.txt"); - Assert.True(WildcardFileFinder.TryFind(path, out var result)); - Assert.True(File.Exists(result), result); + True(WildcardFileFinder.TryFind(path, out var result)); + True(File.Exists(result), result!); } - [Fact] + [Test] public void FullFilePath() { - Assert.True(WildcardFileFinder.TryFind(Source.File(), out var result)); - Assert.True(File.Exists(result), result); + True(WildcardFileFinder.TryFind(Source.File(), out var result)); + True(File.Exists(result), result!); } - [Fact] + [Test] public void FullFilePath_missing() { - Assert.False(WildcardFileFinder.TryFind(Source.File().Replace(".cs", ".foo"), out var result)); - Assert.Null(result); + False(WildcardFileFinder.TryFind(Source.File().Replace(".cs", ".foo"), out var result)); + Null(result); } //[Fact] @@ -54,21 +55,21 @@ public void FullFilePath_missing() // Assert.Null(result); //} - [Fact] + [Test] public void WildCardInDir() { var directory = Source.Directory.Replace("Tests", "Test*"); var path = Path.Combine(directory, "WildcardFileFinderTests.cs"); - Assert.True(WildcardFileFinder.TryFind(path, out var result)); - Assert.True(File.Exists(result), result); + True(WildcardFileFinder.TryFind(path, out var result)); + True(File.Exists(result), result!); } - [Fact] + [Test] public void WildCardInDir_missing() { var directory = Source.Directory.Replace("Tests", "Test*.Foo"); var path = Path.Combine(directory, "WildcardFileFinderTests.cs"); - Assert.False(WildcardFileFinder.TryFind(path, out var result)); - Assert.Null(result); + False(WildcardFileFinder.TryFind(path, out var result)); + Null(result); } } \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/AsyncTimerTests.cs b/src/DiffEngineTray.Tests/AsyncTimerTests.cs index c35d2247..bdbfede3 100644 --- a/src/DiffEngineTray.Tests/AsyncTimerTests.cs +++ b/src/DiffEngineTray.Tests/AsyncTimerTests.cs @@ -1,6 +1,7 @@ -public class AsyncTimerTests +[TestFixture] +public class AsyncTimerTests { - [Fact] + [Test] public async Task It_calls_error_callback() { var errorCallbackInvoked = new TaskCompletionSource(); @@ -13,10 +14,10 @@ public async Task It_calls_error_callback() errorCallbackInvoked.TrySetResult(true); }); - Assert.True(await errorCallbackInvoked.Task); + True(await errorCallbackInvoked.Task); } - [Fact] + [Test] public async Task It_continues_to_run_after_an_error() { var callbackInvokedAfterError = new TaskCompletionSource(); @@ -32,7 +33,7 @@ public async Task It_continues_to_run_after_an_error() throw new("Simulated!"); } - Assert.True(exceptionThrown); + True(exceptionThrown); callbackInvokedAfterError.TrySetResult(true); return Task.FromResult(0); }, @@ -42,10 +43,10 @@ public async Task It_continues_to_run_after_an_error() exceptionThrown = true; }); - Assert.True(await callbackInvokedAfterError.Task); + True(await callbackInvokedAfterError.Task); } - [Fact] + [Test] public async Task Stop_cancels_token_while_in_callback() { var callbackCanceled = false; @@ -67,10 +68,10 @@ public async Task Stop_cancels_token_while_in_callback() var stopTask = timer.DisposeAsync(); stopInitiated.SetResult(true); await stopTask; - Assert.True(callbackCanceled); + True(callbackCanceled); } - [Fact] + [Test] public async Task Stop_waits_for_callback_to_complete() { var callbackCompleted = new TaskCompletionSource(); @@ -89,7 +90,7 @@ public async Task Stop_waits_for_callback_to_complete() var delayTask = Task.Delay(1000); var firstToComplete = await Task.WhenAny(stopTask, delayTask); - Assert.Equal(delayTask, firstToComplete); + AreEqual(delayTask, firstToComplete); callbackCompleted.SetResult(true); await stopTask; diff --git a/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj b/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj index 9440ca0e..69f336de 100644 --- a/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj +++ b/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj @@ -2,7 +2,7 @@ net8.0-windows - $(NoWarn);CA1416;xUnit1051 + $(NoWarn);CA1416 @@ -10,12 +10,13 @@ - - - + + + + \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/GlobalUsings.cs b/src/DiffEngineTray.Tests/GlobalUsings.cs new file mode 100644 index 00000000..f0525170 --- /dev/null +++ b/src/DiffEngineTray.Tests/GlobalUsings.cs @@ -0,0 +1,3 @@ +// Global using directives + +global using NUnit.Framework.Legacy; \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/HotKeyControlTests.cs b/src/DiffEngineTray.Tests/HotKeyControlTests.cs index c5a8f7d3..05111ba9 100644 --- a/src/DiffEngineTray.Tests/HotKeyControlTests.cs +++ b/src/DiffEngineTray.Tests/HotKeyControlTests.cs @@ -1,7 +1,8 @@ #if DEBUG +[TestFixture] public class HotKeyControlTests { - [Fact] + [Test] public async Task WithKeys() { using var target = new HotKeyControl @@ -15,7 +16,7 @@ public async Task WithKeys() await Verify(target); } - [Fact] + [Test] public async Task Default() { using var target = new HotKeyControl(); diff --git a/src/DiffEngineTray.Tests/MenuBuilderTest.cs b/src/DiffEngineTray.Tests/MenuBuilderTest.cs index 37d5e499..b65ef3f8 100644 --- a/src/DiffEngineTray.Tests/MenuBuilderTest.cs +++ b/src/DiffEngineTray.Tests/MenuBuilderTest.cs @@ -1,12 +1,13 @@ using EmptyFiles; +[TestFixture] public class MenuBuilderTest: IDisposable { static Action emptyAction = () => { }; - [Fact] + [Test] public async Task Empty() { await using var tracker = new RecordingTracker(); @@ -17,7 +18,7 @@ public async Task Empty() await Verify(menu, settings); } - [Fact] + [Test] public async Task OnlyMove() { await using var tracker = new RecordingTracker(); @@ -29,7 +30,7 @@ public async Task OnlyMove() await Verify(menu, settings); } - [Fact] + [Test] public async Task OnlyDelete() { await using var tracker = new RecordingTracker(); @@ -41,7 +42,7 @@ public async Task OnlyDelete() await Verify(menu, settings); } - [Fact] + [Test] public async Task Full() { await using var tracker = new RecordingTracker(); @@ -56,7 +57,7 @@ public async Task Full() await Verify(menu, settings); } - [Fact] + [Test] public async Task DiffTempTarget() { await using var tracker = new RecordingTracker(); @@ -68,9 +69,10 @@ public async Task DiffTempTarget() emptyAction, tracker); await Verify(menu, settings); + Debug.WriteLine("s"); } - [Fact] + [Test] public async Task Many() { await using var tracker = new RecordingTracker(); @@ -86,7 +88,7 @@ public async Task Many() await Verify(menu, settings); } - [Fact] + [Test] public async Task Grouped() { await using var tracker = new RecordingTracker(); @@ -99,7 +101,7 @@ public async Task Grouped() await Verify(menu, settings); } - [Fact] + [Test] public async Task FullGrouped() { await using var tracker = new RecordingTracker(); diff --git a/src/DiffEngineTray.Tests/OptionsFormTests.cs b/src/DiffEngineTray.Tests/OptionsFormTests.cs index 073ea969..b21d6354 100644 --- a/src/DiffEngineTray.Tests/OptionsFormTests.cs +++ b/src/DiffEngineTray.Tests/OptionsFormTests.cs @@ -21,7 +21,8 @@ public OptionsFormTests() => // form.ShowDialog(); // form.BringToFront(); //} - [Fact] + + [Test] public async Task WithKeys() { using var form = new OptionsForm( @@ -37,7 +38,7 @@ public async Task WithKeys() await Verify(form); } - [Fact] + [Test] public async Task Default() { using var form = new OptionsForm( diff --git a/src/DiffEngineTray.Tests/PiperTest.cs b/src/DiffEngineTray.Tests/PiperTest.cs index da3ee63d..65181cb0 100644 --- a/src/DiffEngineTray.Tests/PiperTest.cs +++ b/src/DiffEngineTray.Tests/PiperTest.cs @@ -1,8 +1,7 @@ -#if NET7_0 -public class PiperTest(ITestOutputHelper output) : - XunitContextBase(output) +#if NET8_0 +public class PiperTest { - [Fact] + [Test] public Task MoveJson() => Verify( PiperClient.BuildMovePayload( @@ -13,7 +12,7 @@ public Task MoveJson() => true, 1000)); - [Fact] + [Test] public Task DeleteJson() => Verify( PiperClient.BuildMovePayload( @@ -24,7 +23,7 @@ public Task DeleteJson() => true, 1000)); - [Fact] + [Test] public async Task Delete() { DeletePayload received = null!; @@ -37,7 +36,7 @@ public async Task Delete() await Verify(received); } - [Fact] + [Test] public async Task Move() { MovePayload received = null!; @@ -50,7 +49,7 @@ public async Task Move() await Verify(received); } - [Fact] + [Test] public async Task SendOnly() { var file = Path.GetFullPath("temp.txt"); @@ -65,10 +64,11 @@ public async Task SendOnly() { } - await Verify(Logs) - .ScrubLinesContaining("temp.txt") - //TODO: add "scrub source dir" to verify and remove the below - .ScrubLinesContaining("PiperClient"); + //TODO + // await Verify(Logs) + // .ScrubLinesContaining("temp.txt") + // //TODO: add "scrub source dir" to verify and remove the below + // .ScrubLinesContaining("PiperClient"); } } #endif \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/ProcessExTest.cs b/src/DiffEngineTray.Tests/ProcessExTest.cs index ff9e8d95..83d6b8b6 100644 --- a/src/DiffEngineTray.Tests/ProcessExTest.cs +++ b/src/DiffEngineTray.Tests/ProcessExTest.cs @@ -1,18 +1,19 @@ -public class ProcessExTest +[TestFixture] +public class ProcessExTest { - [Fact] + [Test] public void TryGet() { using var current = Process.GetCurrentProcess(); - Assert.True(ProcessEx.TryGet(current.Id, out var found)); - Assert.NotNull(found); - found.Dispose(); + True(ProcessEx.TryGet(current.Id, out var found)); + NotNull(found); + found!.Dispose(); } - [Fact] + [Test] public void TryGetMissing() { - Assert.False(ProcessEx.TryGet(40000, out var found)); - Assert.Null(found); + False(ProcessEx.TryGet(40000, out var found)); + Null(found); } } \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/RecordingTracker.cs b/src/DiffEngineTray.Tests/RecordingTracker.cs index 928f5091..d7992aee 100644 --- a/src/DiffEngineTray.Tests/RecordingTracker.cs +++ b/src/DiffEngineTray.Tests/RecordingTracker.cs @@ -9,8 +9,8 @@ { public void AssertEmpty() { - Assert.Empty(Deletes); - Assert.Empty(Moves); - Assert.False(TrackingAny); + IsEmpty(Deletes); + IsEmpty(Moves); + False(TrackingAny); } } \ No newline at end of file diff --git a/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs b/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs index 5ed858cb..b10ea333 100644 --- a/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs +++ b/src/DiffEngineTray.Tests/SolutionDirectoryFinderTests.cs @@ -1,7 +1,8 @@ #if DEBUG +[TestFixture] public class SolutionDirectoryFinderTests { - [Fact] + [Test] public Task Find() => Verify(SolutionDirectoryFinder.Find(Source.File())); } diff --git a/src/DiffEngineTray.Tests/TrackerClearTest.cs b/src/DiffEngineTray.Tests/TrackerClearTest.cs index 84f249bb..af370ddf 100644 --- a/src/DiffEngineTray.Tests/TrackerClearTest.cs +++ b/src/DiffEngineTray.Tests/TrackerClearTest.cs @@ -1,7 +1,8 @@ -public class TrackerClearTest : +[TestFixture] +public class TrackerClearTest : IDisposable { - [Fact] + [Test] public async Task Simple() { await using var tracker = new RecordingTracker(); diff --git a/src/DiffEngineTray.Tests/TrackerDeleteTest.cs b/src/DiffEngineTray.Tests/TrackerDeleteTest.cs index a1238790..0376d0ca 100644 --- a/src/DiffEngineTray.Tests/TrackerDeleteTest.cs +++ b/src/DiffEngineTray.Tests/TrackerDeleteTest.cs @@ -1,16 +1,17 @@ -public class TrackerDeleteTest : +[TestFixture] +public class TrackerDeleteTest : IDisposable { - [Fact] + [Test] public async Task AddSingle() { await using var tracker = new RecordingTracker(); tracker.AddDelete(file1); - Assert.Single(tracker.Deletes); - Assert.True(tracker.TrackingAny); + AreEqual(tracker.Deletes,1); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AddSingle_BackgroundDelete() { await using var tracker = new RecordingTracker(); @@ -20,27 +21,27 @@ public async Task AddSingle_BackgroundDelete() tracker.AssertEmpty(); } - [Fact] + [Test] public async Task AddMultiple() { await using var tracker = new RecordingTracker(); tracker.AddDelete(file1); tracker.AddDelete(file2); - Assert.Equal(2, tracker.Deletes.Count); - Assert.True(tracker.TrackingAny); + AreEqual(2, tracker.Deletes.Count); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AddSame() { await using var tracker = new RecordingTracker(); tracker.AddDelete(file1); tracker.AddDelete(file1); - Assert.Single(tracker.Deletes); - Assert.True(tracker.TrackingAny); + AreEqual(1, tracker.Deletes); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AcceptAllSingle() { await using var tracker = new RecordingTracker(); @@ -49,7 +50,7 @@ public async Task AcceptAllSingle() tracker.AssertEmpty(); } - [Fact] + [Test] public async Task AcceptAllMultiple() { await using var tracker = new RecordingTracker(); @@ -59,7 +60,7 @@ public async Task AcceptAllMultiple() tracker.AssertEmpty(); } - [Fact] + [Test] public async Task AcceptSingle() { await using var tracker = new RecordingTracker(); @@ -68,15 +69,15 @@ public async Task AcceptSingle() tracker.AssertEmpty(); } - [Fact] + [Test] public async Task AcceptSingle_NotEmpty() { await using var tracker = new RecordingTracker(); var tracked = tracker.AddDelete(file1); tracker.AddDelete(file2); tracker.Accept(tracked); - Assert.Single(tracker.Deletes); - Assert.True(tracker.TrackingAny); + AreEqual(1, tracker.Deletes); + True(tracker.TrackingAny); } public void Dispose() diff --git a/src/DiffEngineTray.Tests/TrackerMoveTest.cs b/src/DiffEngineTray.Tests/TrackerMoveTest.cs index 94353eda..94543062 100644 --- a/src/DiffEngineTray.Tests/TrackerMoveTest.cs +++ b/src/DiffEngineTray.Tests/TrackerMoveTest.cs @@ -1,26 +1,27 @@ -public class TrackerMoveTest : +[TestFixture] +public class TrackerMoveTest : IDisposable { - [Fact] + [Test] public async Task AddSingle() { await using var tracker = new RecordingTracker(); tracker.AddMove(file1, file1, "theExe", "theArguments", true, null); - Assert.Single(tracker.Moves); - Assert.True(tracker.TrackingAny); + AreEqual(1, tracker.Moves); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AddMultiple() { await using var tracker = new RecordingTracker(); tracker.AddMove(file1, file1, "theExe", "theArguments", true, null); tracker.AddMove(file2, file2, "theExe", "theArguments", true, null); - Assert.Equal(2, tracker.Moves.Count); - Assert.True(tracker.TrackingAny); + AreEqual(2, tracker.Moves.Count); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AddSame() { await using var tracker = new RecordingTracker(); @@ -28,12 +29,12 @@ public async Task AddSame() using var process = Process.GetCurrentProcess(); var processId = process.Id; var tracked = tracker.AddMove(file1, file1, "theExe", "theArguments", false, processId); - Assert.Single(tracker.Moves); - Assert.Equal(process.Id, tracked.Process!.Id); - Assert.True(tracker.TrackingAny); + AreEqual(1, tracker.Moves); + AreEqual(process.Id, tracked.Process!.Id); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AcceptAllSingle() { await using var tracker = new RecordingTracker(); @@ -42,7 +43,7 @@ public async Task AcceptAllSingle() tracker.AssertEmpty(); } - [Fact] + [Test] public async Task AcceptAllMultiple() { await using var tracker = new RecordingTracker(); @@ -52,7 +53,7 @@ public async Task AcceptAllMultiple() tracker.AssertEmpty(); } - [Fact] + [Test] public async Task AcceptSingle() { await using var tracker = new RecordingTracker(); @@ -71,7 +72,7 @@ public async Task AcceptSingle() // tracker.AssertEmpty(); // } - [Fact] + [Test] public async Task AddSingle_BackgroundDeleteTarget() { await using var tracker = new RecordingTracker(); @@ -80,19 +81,19 @@ public async Task AddSingle_BackgroundDeleteTarget() Thread.Sleep(3000); // many diff tools do not require a target. // so the non exist of a target file should not flush that item - Assert.Single(tracker.Moves); - Assert.True(tracker.TrackingAny); + AreEqual(1, tracker.Moves.Count); + True(tracker.TrackingAny); } - [Fact] + [Test] public async Task AcceptSingle_NotEmpty() { await using var tracker = new RecordingTracker(); var tracked = tracker.AddMove(file1, file1, "theExe", "theArguments", true, null); tracker.AddMove(file2, file2, "theExe", "theArguments", true, null); tracker.Accept(tracked); - Assert.Single(tracker.Moves); - Assert.True(tracker.TrackingAny); + AreEqual(1, tracker.Moves.Count); + True(tracker.TrackingAny); } public void Dispose() diff --git a/src/DiffEngineTray.Tests/VersionReaderTest.cs b/src/DiffEngineTray.Tests/VersionReaderTest.cs index fe3de582..dfe831fd 100644 --- a/src/DiffEngineTray.Tests/VersionReaderTest.cs +++ b/src/DiffEngineTray.Tests/VersionReaderTest.cs @@ -1,9 +1,10 @@ -public class VersionReaderTest +[TestFixture] +public class VersionReaderTest { - [Fact] + [Test] public void AddSingle() { - Assert.NotEmpty(VersionReader.VersionString); - Assert.NotNull(VersionReader.VersionString); + IsTrue(VersionReader.VersionString.Length > 0); + NotNull(VersionReader.VersionString); } } \ No newline at end of file diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 81503a0d..50de9630 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -10,6 +10,7 @@ + @@ -24,9 +25,7 @@ + - - - \ No newline at end of file From 2a1af92dfe0dc7197aa8f5492e17a62ff0bfc277 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 12 Aug 2024 20:23:29 +1000 Subject: [PATCH 3/3] . --- src/DiffEngine.Tests/DiffEngine.Tests.csproj | 1 + src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj | 1 + src/Directory.Packages.props | 1 + 3 files changed, 3 insertions(+) diff --git a/src/DiffEngine.Tests/DiffEngine.Tests.csproj b/src/DiffEngine.Tests/DiffEngine.Tests.csproj index 2c929007..7a7dc156 100644 --- a/src/DiffEngine.Tests/DiffEngine.Tests.csproj +++ b/src/DiffEngine.Tests/DiffEngine.Tests.csproj @@ -12,6 +12,7 @@ + diff --git a/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj b/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj index 69f336de..c25b1e57 100644 --- a/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj +++ b/src/DiffEngineTray.Tests/DiffEngineTray.Tests.csproj @@ -12,6 +12,7 @@ + diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 50de9630..f06a8182 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -27,5 +27,6 @@ + \ No newline at end of file