diff --git a/docs/diff-tool.order.md b/docs/diff-tool.order.md index ceb99b41..4cd981d9 100644 --- a/docs/diff-tool.order.md +++ b/docs/diff-tool.order.md @@ -17,9 +17,9 @@ To change this file edit the source file and then run MarkdownSnippets. * **[Kaleidoscope](/docs/diff-tool.md#kaleidoscope)** OSX (Cost: Paid) * **[DeltaWalker](/docs/diff-tool.md#deltawalker)** Windows/OSX (Cost: Paid) * **[WinMerge](/docs/diff-tool.md#winmerge)** Windows (Cost: Free with option to donate) + * **[TortoiseMerge](/docs/diff-tool.md#tortoisemerge)** Windows (Cost: Free) * **[TortoiseGitMerge](/docs/diff-tool.md#tortoisegitmerge)** Windows (Cost: Free) * **[TortoiseGitIDiff](/docs/diff-tool.md#tortoisegitidiff)** Windows (Cost: Free) - * **[TortoiseMerge](/docs/diff-tool.md#tortoisemerge)** Windows (Cost: Free) * **[TortoiseIDiff](/docs/diff-tool.md#tortoiseidiff)** Windows (Cost: Free) * **[KDiff3](/docs/diff-tool.md#kdiff3)** Windows/OSX (Cost: Free) * **[TkDiff](/docs/diff-tool.md#tkdiff)** OSX (Cost: Free) @@ -33,8 +33,8 @@ To change this file edit the source file and then run MarkdownSnippets. * **[Meld](/docs/diff-tool.md#meld)** Windows/OSX/Linux (Cost: Free) * **[SublimeMerge](/docs/diff-tool.md#sublimemerge)** Windows/OSX/Linux (Cost: Paid) * **[VisualStudioCode](/docs/diff-tool.md#visualstudiocode)** Windows/OSX/Linux (Cost: Free) - * **[Cursor](/docs/diff-tool.md#cursor)** Windows/OSX/Linux (Cost: Free and Paid) * **[VisualStudio](/docs/diff-tool.md#visualstudio)** Windows (Cost: Paid and free options) + * **[Cursor](/docs/diff-tool.md#cursor)** Windows/OSX/Linux (Cost: Free and Paid) * **[DiffEngineViewer](/docs/diff-tool.md#diffengineviewer)** Windows/OSX/Linux (Cost: Free) diff --git a/src/DiffEngine.Tests/DefinitionsTest.cs b/src/DiffEngine.Tests/DefinitionsTest.cs index 4b489ada..b32079cd 100644 --- a/src/DiffEngine.Tests/DefinitionsTest.cs +++ b/src/DiffEngine.Tests/DefinitionsTest.cs @@ -74,12 +74,22 @@ static string GetOsSupport(OsSupport osSupport) return builder.ToString(); } + /// + /// Both files say "keep in sync", and this is what checks it. Ordered, because the order is + /// the thing being kept in sync: the enum is the default resolution order (OrderReader hands + /// back Enum.GetValues), while the generated docs and the remainder after a + /// DiffEngine_ToolOrder prefix follow Definitions. IsEquivalentTo is order insensitive by + /// default, so the two drifted apart under a green test. + /// [Test] public async Task ToolOrderMatchesEnumOrder() { - var definitionsOrder = Definitions.Tools.Select(_ => _.Tool).ToList(); - var enumOrder = Enum.GetValues(typeof(DiffTool)).Cast().ToList(); - await Assert.That(definitionsOrder).IsEquivalentTo(enumOrder); + // Joined, because the collection assertions here are order insensitive and the order is + // the whole point. A string also names the first tool that differs, rather than saying the + // two lists have the same contents + var definitionsOrder = string.Join(", ", Definitions.Tools.Select(_ => _.Tool)); + var enumOrder = string.Join(", ", Enum.GetValues(typeof(DiffTool)).Cast()); + await Assert.That(definitionsOrder).IsEqualTo(enumOrder); } [Test] diff --git a/src/DiffEngine.Tests/defaultOrder.include.md b/src/DiffEngine.Tests/defaultOrder.include.md index ab54a8bd..829cd918 100644 --- a/src/DiffEngine.Tests/defaultOrder.include.md +++ b/src/DiffEngine.Tests/defaultOrder.include.md @@ -5,9 +5,9 @@ * **[Kaleidoscope](/docs/diff-tool.md#kaleidoscope)** OSX (Cost: Paid) * **[DeltaWalker](/docs/diff-tool.md#deltawalker)** Windows/OSX (Cost: Paid) * **[WinMerge](/docs/diff-tool.md#winmerge)** Windows (Cost: Free with option to donate) + * **[TortoiseMerge](/docs/diff-tool.md#tortoisemerge)** Windows (Cost: Free) * **[TortoiseGitMerge](/docs/diff-tool.md#tortoisegitmerge)** Windows (Cost: Free) * **[TortoiseGitIDiff](/docs/diff-tool.md#tortoisegitidiff)** Windows (Cost: Free) - * **[TortoiseMerge](/docs/diff-tool.md#tortoisemerge)** Windows (Cost: Free) * **[TortoiseIDiff](/docs/diff-tool.md#tortoiseidiff)** Windows (Cost: Free) * **[KDiff3](/docs/diff-tool.md#kdiff3)** Windows/OSX (Cost: Free) * **[TkDiff](/docs/diff-tool.md#tkdiff)** OSX (Cost: Free) @@ -21,6 +21,6 @@ * **[Meld](/docs/diff-tool.md#meld)** Windows/OSX/Linux (Cost: Free) * **[SublimeMerge](/docs/diff-tool.md#sublimemerge)** Windows/OSX/Linux (Cost: Paid) * **[VisualStudioCode](/docs/diff-tool.md#visualstudiocode)** Windows/OSX/Linux (Cost: Free) - * **[Cursor](/docs/diff-tool.md#cursor)** Windows/OSX/Linux (Cost: Free and Paid) * **[VisualStudio](/docs/diff-tool.md#visualstudio)** Windows (Cost: Paid and free options) + * **[Cursor](/docs/diff-tool.md#cursor)** Windows/OSX/Linux (Cost: Free and Paid) * **[DiffEngineViewer](/docs/diff-tool.md#diffengineviewer)** Windows/OSX/Linux (Cost: Free) diff --git a/src/DiffEngine/Definitions.cs b/src/DiffEngine/Definitions.cs index 6d9db7a2..43696838 100644 --- a/src/DiffEngine/Definitions.cs +++ b/src/DiffEngine/Definitions.cs @@ -15,9 +15,9 @@ static Definitions() => Implementation.Kaleidoscope(), Implementation.DeltaWalker(), Implementation.WinMerge(), + Implementation.TortoiseMerge(), Implementation.TortoiseGitMerge(), Implementation.TortoiseGitIDiff(), - Implementation.TortoiseMerge(), Implementation.TortoiseIDiff(), Implementation.KDiff3(), Implementation.TkDiff(), @@ -31,8 +31,8 @@ static Definitions() => Implementation.Meld(), Implementation.SublimeMerge(), Implementation.VisualStudioCode(), - Implementation.Cursor(), Implementation.VisualStudio(), + Implementation.Cursor(), Implementation.DiffEngineViewer(), ]; }