1 [Fact] 2 public void register_order_defaults() 3 { 4 var containerBuilder = new ContainerBuilder(); 5 containerBuilder.RegisterType<DbRepository>().As<IRepository>(); 6 containerBuilder.RegisterType<TestRepository>().As<IRepository>().PreserveExistingDefaults(); 7
8 IContainer container = containerBuilder.Build(); 9 var repository = container.Resolve<IRepository>(); 10 Assert.Equal(typeof (DbRepository), repository.GetType()); 11 }
1 [Fact] 2 public void register_with_name() 3 { 4 var containerBuilder = new ContainerBuilder(); 5 containerBuilder.RegisterType<DbRepository>().Named<IRepository>("DB"); 6 containerBuilder.RegisterType<TestRepository>().Named<IRepository>("Test"); 7
8 IContainer container = containerBuilder.Build(); 9 var dbRepository = container.ResolveNamed<IRepository>("DB"); 10 var testRepository = container.ResolveNamed<IRepository>("Test"); 11 Assert.Equal(typeof(DbRepository), dbRepository.GetType()); 12 Assert.Equal(typeof(TestRepository), testRepository.GetType()); 13 }
1 [Fact] 2 public void choose_constructors() 3 { 4 var builder = new ContainerBuilder(); 5 builder.RegisterType<MyParameter>(); 6 builder.RegisterType<MyClass>().UsingConstructor(typeof (MyParameter)); 7 IContainer container = builder.Build(); 8 var myClass = container.Resolve<MyClass>(); 9 Assert.NotNull(myClass); 10 }
1 [Fact] 2 public void register_assembly() 3 { 4 var builder = new ContainerBuilder(); 5 builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()). 6 Where(t => t.Name.EndsWith("Repository")). 7 AsImplementedInterfaces(); 8
9 IContainer container = builder.Build(); 10 var repository = container.Resolve<IRepository>(); 11 Assert.NotNull(repository); 12 }