public void RegisterManyForOpenGenericAccessibilityOptionCallbackEnum_WithValidArguments_Succeeds() { // Arrange var container = ContainerFactory.New(); BatchRegistrationCallback callback = (closedServiceType, implementations) => { }; var assemblies = new[] { Assembly.GetExecutingAssembly() }; // Act container.RegisterManyForOpenGeneric(typeof(IService <,>), AccessibilityOption.AllTypes, callback, assemblies); }
public VarianceExtensions_RegisteringMultipleRegistrationsAndResolvingCollections() { // Container configuration. BatchRegistrationCallback callback = (serviceType, implementations) => { container.RegisterAll(serviceType, implementations); }; this.container.RegisterManyForOpenGeneric(typeof(IEventHandler <>), callback, typeof(IEventHandler <>).Assembly); this.container.RegisterSingleOpenGeneric(typeof(IEventHandler <>), typeof(MultipleDispatchEventHandler <>)); // The ILogger is used by the unit tests to test the configuration. this.container.RegisterSingle <ILogger>(this.logger); }
public void RegisterManyForOpenGenericAssemblyParams_WithCallbackThatDoesNothing_DoesNotRegisterAnything() { // Arrange var container = ContainerFactory.New(); BatchRegistrationCallback callback = (closedServiceType, implementations) => { // Do nothing. }; // Act container.RegisterManyForOpenGeneric(typeof(IService <,>), callback, Assembly.GetExecutingAssembly()); // Assert var registration = container.GetRegistration(typeof(IService <string, object>)); Assert.IsNull(registration, "GetRegistration should result in null, because by supplying a delegate, the " + "extension method does not do any registration itself."); }
public void RegisterManyForOpenGeneric_WithCallback_IsCalledTheExpectedAmountOfTimes() { // Arrange List <Type> expectedClosedServiceTypes = new List <Type> { typeof(IService <float, double>), typeof(IService <Type, Type>) }; List <Type> actualClosedServiceTypes = new List <Type>(); var container = ContainerFactory.New(); BatchRegistrationCallback callback = (closedServiceType, implementations) => { actualClosedServiceTypes.Add(closedServiceType); }; // Act container.RegisterManyForOpenGeneric(typeof(IService <,>), callback, new[] { typeof(Concrete3) }); // Assert Assert_AreEqual(expectedClosedServiceTypes, actualClosedServiceTypes); }
public static void RegisterManyForOpenGeneric(this Container container, Type openGenericServiceType, AccessibilityOption accessibility, BatchRegistrationCallback callback, IEnumerable<Assembly> assemblies) { Requires.IsNotNull(callback, nameof(callback)); var types = GetTypesToRegisterInternal(container, openGenericServiceType, accessibility, assemblies); container.RegisterCollection(openGenericServiceType, types); }
public static void RegisterManyForOpenGeneric(this Container container, Type openGenericServiceType, BatchRegistrationCallback callback, IEnumerable<Type> typesToRegister) { Requires.IsNotNull(callback, nameof(callback)); container.RegisterCollection(openGenericServiceType, typesToRegister); }
public static void RegisterManyForOpenGeneric(this Container container, Type openGenericServiceType, BatchRegistrationCallback callback, params Assembly[] assemblies) { Requires.IsNotNull(callback, nameof(callback)); container.RegisterCollection(openGenericServiceType, assemblies); }
public static void RegisterManyForOpenGeneric(this Container container, Type openGenericServiceType, BatchRegistrationCallback callback, IEnumerable<Assembly> assemblies) { Requires.IsNotNull(callback, "callback"); container.RegisterCollection(openGenericServiceType, assemblies); }