From 3d288f3489be4e25418c1118ca648539c9853520 Mon Sep 17 00:00:00 2001 From: Jesse Date: Fri, 6 Jun 2025 08:23:26 +0200 Subject: [PATCH] Fix up converters to target all assemblies in the AppDomain (#364) * Fix up converters to target all assemblies in the AppDomain * Make test more robust * Make test more robust v2 electric boogaloo --- .../Json/Converters/SptJsonConverterRegistrator.cs | 6 ++++-- UnitTests/Tests/Test.cs | 11 +++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Utils/Json/Converters/SptJsonConverterRegistrator.cs b/Libraries/SPTarkov.Server.Core/Utils/Json/Converters/SptJsonConverterRegistrator.cs index e31f0a56..be569f15 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/Json/Converters/SptJsonConverterRegistrator.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/Json/Converters/SptJsonConverterRegistrator.cs @@ -23,10 +23,12 @@ public class SptJsonConverterRegistrator : IJsonConverterRegistrator private static List GetGenericJsonConverters() { - var enums = Assembly.GetExecutingAssembly().GetTypes() + var enums = AppDomain.CurrentDomain.GetAssemblies() + .SelectMany(assembly => assembly.GetTypes()) .Where(type => type.IsEnum && type.GetCustomAttribute() != null); - var listEnums = Assembly.GetExecutingAssembly().GetTypes() + var listEnums = AppDomain.CurrentDomain.GetAssemblies() + .SelectMany(assembly => assembly.GetTypes()) .Where(type => type.IsEnum && type.GetCustomAttribute() != null); var result = enums.Select(e => (JsonConverter) Activator.CreateInstance(typeof(EftEnumConverter<>).MakeGenericType(e))!).ToList(); diff --git a/UnitTests/Tests/Test.cs b/UnitTests/Tests/Test.cs index c68a3bab..2807984a 100644 --- a/UnitTests/Tests/Test.cs +++ b/UnitTests/Tests/Test.cs @@ -11,18 +11,17 @@ public class Test private Templates? _templates; [TestInitialize] - public void Setup() + public async Task Setup() { - var importer = new ImporterUtil(new MockLogger(), new FileUtil(), new JsonUtil([ new SptJsonConverterRegistrator() ])); - var loadTask = importer.LoadRecursiveAsync("./TestAssets/"); - loadTask.Wait(); - _templates = loadTask.Result; + var importer = new ImporterUtil(new MockLogger(), new FileUtil(), DI.GetService()); + _templates = await importer.LoadRecursiveAsync("./TestAssets/"); + } [TestMethod] public void TestMethod1() { - var result = new JsonUtil([ new SptJsonConverterRegistrator() ]).Serialize(_templates); + var result = DI.GetService().Serialize(_templates); Console.WriteLine(result); } }