public void RegisterManySingletonRegistersAllInterfacesByDefault() { var container = new ContainerExtension(); container.RegisterManySingleton <AggregateService>(); Assert.IsType <AggregateService>(container.Resolve <IServiceA>()); Assert.IsType <AggregateService>(container.Resolve <IServiceB>()); Assert.IsType <AggregateService>(container.Resolve <IServiceC>()); }
public void RegisterManySingletonOnlyRegistersSpecifiedInterfaces() { var container = new ContainerExtension(); container.RegisterManySingleton <AggregateService>(typeof(IServiceA), typeof(IServiceB)); Assert.IsType <AggregateService>(container.Resolve <IServiceA>()); Assert.IsType <AggregateService>(container.Resolve <IServiceB>()); var ex = Record.Exception(() => container.Resolve <IServiceC>()); Assert.NotNull(ex); }
public void RegisterManySingletonUsesSharedInstanceForAllServices() { var container = new ContainerExtension(); container.RegisterManySingleton <AggregateService>(); var serviceA = container.Resolve <IServiceA>(); var serviceB = container.Resolve <IServiceB>(); var serviceC = container.Resolve <IServiceC>(); Assert.Same(serviceA, serviceB); Assert.Same(serviceB, serviceC); }