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
This commit is contained in:
@@ -23,10 +23,12 @@ public class SptJsonConverterRegistrator : IJsonConverterRegistrator
|
||||
|
||||
private static List<JsonConverter> GetGenericJsonConverters()
|
||||
{
|
||||
var enums = Assembly.GetExecutingAssembly().GetTypes()
|
||||
var enums = AppDomain.CurrentDomain.GetAssemblies()
|
||||
.SelectMany(assembly => assembly.GetTypes())
|
||||
.Where(type => type.IsEnum && type.GetCustomAttribute<EftEnumConverterAttribute>() != null);
|
||||
|
||||
var listEnums = Assembly.GetExecutingAssembly().GetTypes()
|
||||
var listEnums = AppDomain.CurrentDomain.GetAssemblies()
|
||||
.SelectMany(assembly => assembly.GetTypes())
|
||||
.Where(type => type.IsEnum && type.GetCustomAttribute<EftListEnumConverterAttribute>() != null);
|
||||
|
||||
var result = enums.Select(e => (JsonConverter) Activator.CreateInstance(typeof(EftEnumConverter<>).MakeGenericType(e))!).ToList();
|
||||
|
||||
@@ -11,18 +11,17 @@ public class Test
|
||||
private Templates? _templates;
|
||||
|
||||
[TestInitialize]
|
||||
public void Setup()
|
||||
public async Task Setup()
|
||||
{
|
||||
var importer = new ImporterUtil(new MockLogger<ImporterUtil>(), new FileUtil(), new JsonUtil([ new SptJsonConverterRegistrator() ]));
|
||||
var loadTask = importer.LoadRecursiveAsync<Templates>("./TestAssets/");
|
||||
loadTask.Wait();
|
||||
_templates = loadTask.Result;
|
||||
var importer = new ImporterUtil(new MockLogger<ImporterUtil>(), new FileUtil(), DI.GetService<JsonUtil>());
|
||||
_templates = await importer.LoadRecursiveAsync<Templates>("./TestAssets/");
|
||||
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethod1()
|
||||
{
|
||||
var result = new JsonUtil([ new SptJsonConverterRegistrator() ]).Serialize(_templates);
|
||||
var result = DI.GetService<JsonUtil>().Serialize(_templates);
|
||||
Console.WriteLine(result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user