protected static ResolvedInjectionConfiguration ExecuteSimpleTest( InjectedMethod[] injectedMethods, string[] injecteeMethodNames, bool assertFirstMethodMatch = true) { InjectionConfiguration configuration = IntegrationTestsHelper.GetBasicInjectionConfiguration(true, true, injectedMethods); ResolvedInjectionConfiguration resolvedConfiguration = IntegrationTestsHelper.GetBasicResolvedInjectionConfiguration(configuration, injecteeMethodNames); ExecuteSimpleTest(resolvedConfiguration, assertFirstMethodMatch); return(resolvedConfiguration); }
private void AttemptInjectUsesThirdPartyLibraryBase(bool setThirdPartyLibraryPath) { InjectedMethod injectedMethod = new InjectedMethod( InjectedLibraryPath, $"{typeof(TestInjectedMethods).FullName}.{nameof(TestInjectedMethods.UsesThirdPartyLibrary)}" ); InjectionConfiguration configuration = IntegrationTestsHelper.GetBasicInjectionConfiguration(false, false, injectedMethod); configuration = configuration .WithInjecteeAssemblies( configuration.InjecteeAssemblies.Select( assembly => { List <IAllowedAssemblyReference> list = assembly.AllowedAssemblyReferences.ToList(); list.Add( new AllowedAssemblyReference( "Tests.ThirdPartyLibrary", false, setThirdPartyLibraryPath ? "Tests.ThirdPartyLibrary.Different.dll" : null)); List <IIgnoredMemberReference> list2 = assembly.IgnoredMemberReferences.ToList(); list2.Add(new IgnoredMemberReference("some filter")); assembly = assembly .WithAllowedAssemblyReferences(list.AsReadOnly()) .WithIgnoredMemberReferences(list2.AsReadOnly()); return(assembly); }) .ToList().AsReadOnly() ); ExecuteSimpleTest( configuration, new[] { $"{InjecteeClassName}.{nameof(TestInjectee.SingleStatement)}" }, false ); }