protected static void ExecuteSimpleInjection(InjectionConfiguration configuration)
        {
            ResolvedInjectionConfiguration resolvedConfiguration =
                ResolvedInjectionConfigurationLoader.LoadFromInjectionConfiguration(configuration);

            IntegrationTestsHelper.ExecuteInjection(resolvedConfiguration);
            IntegrationTestsHelper.WriteModifiedAssembliesIfRequested(resolvedConfiguration);
        }
        protected static void ExecuteSimpleTest(ResolvedInjectionConfiguration resolvedConfiguration, bool assertFirstMethodMatch = true)
        {
            IntegrationTestsHelper.ExecuteInjection(resolvedConfiguration);
            IntegrationTestsHelper.WriteModifiedAssembliesIfRequested(resolvedConfiguration);

            if (assertFirstMethodMatch)
            {
                bool validReferenceOutput           = TestContext.CurrentContext.Test.Properties.Get(nameof(ValidReferenceOutputAttribute).RemoveAttribute()) is bool tmp1 && tmp1;
                bool forceRegenerateReferenceOutput = TestContext.CurrentContext.Test.Properties.Get(nameof(ForceRegenerateReferenceOutputAttribute).RemoveAttribute()) is bool tmp2 && tmp2;
                if (validReferenceOutput && !forceRegenerateReferenceOutput)
                {
                    IntegrationTestsHelper.AssertFirstMethod(resolvedConfiguration);
                }
                else
                {
                    IntegrationTestsHelper.WriteReferenceOutputFile(resolvedConfiguration);
                    Console.WriteLine(IntegrationTestsHelper.GetFormattedReferenceOutputFile());
                    Assert.Fail("Reference output not validated");
                }
            }
        }