From a6ed2d15cd4dd64cf15b01f4d7ee93935f17dcaf Mon Sep 17 00:00:00 2001 From: Brice SCHUMACHER Date: Sun, 26 Apr 2026 12:03:22 +0200 Subject: [PATCH] refactor: inline OutputConfigurationExtension directly into Infrastructure Remove the OutputConfigurationExtension wrapper class and store the configuration list directly in Infrastructure. The extension was a pure data holder with no lifecycle hooks, making the indirection unnecessary. Co-Authored-By: Claude Sonnet 4.6 --- .../Extensions/OutputConfigurationExtension.cs | 15 --------------- .../Infrastructures/Infrastructure.cs | 11 ++++++----- 2 files changed, 6 insertions(+), 20 deletions(-) delete mode 100644 NotoriousTest.Core/Extensions/OutputConfigurationExtension.cs diff --git a/NotoriousTest.Core/Extensions/OutputConfigurationExtension.cs b/NotoriousTest.Core/Extensions/OutputConfigurationExtension.cs deleted file mode 100644 index 3bd4b15..0000000 --- a/NotoriousTest.Core/Extensions/OutputConfigurationExtension.cs +++ /dev/null @@ -1,15 +0,0 @@ -using NotoriousTest.Core.Configuration; - -namespace NotoriousTest.Core.Extensions; - -// Extension OutputConfiguration -public class OutputConfigurationExtension : IInfrastructureExtension -{ - public List> OutputConfiguration { get; } = new(); - - public void AddEntry(string key, TOutputConfiguration value) - => OutputConfiguration.Add(new ConfigurationEntry(value, key)); - - public void AddEntry(TOutputConfiguration value) - => OutputConfiguration.Add(new ConfigurationEntry(value, value!.GetType().Name)); -} diff --git a/NotoriousTest.Core/Infrastructures/Infrastructure.cs b/NotoriousTest.Core/Infrastructures/Infrastructure.cs index 0b51038..c620c59 100644 --- a/NotoriousTest.Core/Infrastructures/Infrastructure.cs +++ b/NotoriousTest.Core/Infrastructures/Infrastructure.cs @@ -1,5 +1,4 @@ using NotoriousTest.Core.Configuration; -using NotoriousTest.Core.Extensions; using NotoriousTest.Core.Logger; using NotoriousTest.Core.Registry; @@ -11,15 +10,17 @@ namespace NotoriousTest.Core.Infrastructures; public abstract class Infrastructure : Infrastructure, IConfigurationProducer where TMetadata : class { - public List> OutputConfiguration => OutputConfigurationExtension.OutputConfiguration; + public List> OutputConfiguration { get; } = new(); - protected OutputConfigurationExtension OutputConfigurationExtension { get; private set; } protected Infrastructure(EnvironmentId contextId, ITestLogger logger, IRegistry provider) : base(contextId, logger, provider) { - OutputConfigurationExtension = EnsureExtension(new OutputConfigurationExtension()); } - public void AddEntry(string key, TOutputConfiguration value) => OutputConfigurationExtension.AddEntry(key, value); + public void AddEntry(string key, TOutputConfiguration value) + => OutputConfiguration.Add(new ConfigurationEntry(value, key)); + + public void AddEntry(TOutputConfiguration value) + => OutputConfiguration.Add(new ConfigurationEntry(value, value!.GetType().Name)); } public abstract class Infrastructure : Infrastructure where TMetadata : class