From f699d8e9e1639a9b47f7c1f336be37a781ab6e0c Mon Sep 17 00:00:00 2001 From: Vitalii Mikhailov Date: Sat, 11 Nov 2023 01:15:30 +0200 Subject: [PATCH] Made Before<,>.Other a required property (#764) * Made Before<,>.Other a required property * Adapted code to the change --- .../NexusMods.Games.BethesdaGameStudios/PluginSorter.cs | 2 +- src/NexusMods.DataModel/Sorting/Rules/Before.cs | 5 ++++- .../Harness/ALoadoutSynrconizerTest.cs | 2 +- tests/NexusMods.DataModel.Tests/SortTests.cs | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Games/NexusMods.Games.BethesdaGameStudios/PluginSorter.cs b/src/Games/NexusMods.Games.BethesdaGameStudios/PluginSorter.cs index fa7347d981..0335099842 100644 --- a/src/Games/NexusMods.Games.BethesdaGameStudios/PluginSorter.cs +++ b/src/Games/NexusMods.Games.BethesdaGameStudios/PluginSorter.cs @@ -91,7 +91,7 @@ private IEnumerable> GenerateRules(PluginAnal foreach (var itm in allPlugins) { if (DefaultOrdering.Contains(itm.FileName)) continue; - yield return new Before(itm.FileName); + yield return new Before { Other = itm.FileName }; } break; diff --git a/src/NexusMods.DataModel/Sorting/Rules/Before.cs b/src/NexusMods.DataModel/Sorting/Rules/Before.cs index 6e70d73488..185366a135 100644 --- a/src/NexusMods.DataModel/Sorting/Rules/Before.cs +++ b/src/NexusMods.DataModel/Sorting/Rules/Before.cs @@ -4,4 +4,7 @@ namespace NexusMods.DataModel.Sorting.Rules; /// [JsonName("Before")] -public record Before(TId Other) : ISortRule; +public record Before: ISortRule +{ + public required TId Other { get; init; } +} diff --git a/tests/NexusMods.DataModel.Tests/Harness/ALoadoutSynrconizerTest.cs b/tests/NexusMods.DataModel.Tests/Harness/ALoadoutSynrconizerTest.cs index b41eb8aa5c..1b34e0b0c1 100644 --- a/tests/NexusMods.DataModel.Tests/Harness/ALoadoutSynrconizerTest.cs +++ b/tests/NexusMods.DataModel.Tests/Harness/ALoadoutSynrconizerTest.cs @@ -171,7 +171,7 @@ public async IAsyncEnumerable> GenerateSortRules(ModId sel if (modId.Equals(selfId)) continue; if (string.Compare(other.Name, thisMod.Name, StringComparison.Ordinal) > 0) { - yield return new Before(other.Id); + yield return new Before { Other = other.Id }; } else { diff --git a/tests/NexusMods.DataModel.Tests/SortTests.cs b/tests/NexusMods.DataModel.Tests/SortTests.cs index ba0cf76e88..a01ea3252e 100644 --- a/tests/NexusMods.DataModel.Tests/SortTests.cs +++ b/tests/NexusMods.DataModel.Tests/SortTests.cs @@ -33,7 +33,7 @@ public void BeforeAndAfterWorks() new Item {Id = "B", Rules = new()}, new Item {Id = "A", Rules = new() { - new Before("B") + new Before { Other = "B" } }}, new Item {Id = "C", Rules = new() {