public void Should_keep_both_containers_separated_by_scope() { var builder = new ContainerBuilder(); builder.RegisterSwitchedType<BigOn, A, BigA, LittleA>(); // builder.RegisterType<DefaultDataProvider>() // .As<IDataProvider>() // .SingleInstance(); // // using (var container = builder.Build()) // { // var provider = container.Resolve<IDataProvider>(); // Assert.AreEqual("Default", provider.GetData()); // // var tenent = container.BeginLifetimeScope(x => // { // x.RegisterType<UpperCaseDataTransformer>() // .As<IDataTransformer>(); // x.RegisterType<CustomDataProvider>() // .As<IDataProvider>() // .SingleInstance(); // }); // // using(tenent) // { // var custom = container.Resolve<IDataProvider>(); // Assert.AreEqual("Custom", custom.GetData()); // // string upper = tenent.Resolve<IDataTransformer>().Transform("John"); // Assert.AreEqual("JOHN", upper); // } // // string lower = container.Resolve<IDataTransformer>().Transform("John"); // Assert.AreEqual("john", lower); // } }
public void Should_return_original_registration_by_type() { var builder = new ContainerBuilder(); builder.RegisterCodeSwitchDisabled<UseClassAv2>(); builder.RegisterSwitchedType<UseClassAv2, A, ClassA_V2, ClassA>(); IContainer container = builder.Build(); var a = container.Resolve<A>(); Assert.IsInstanceOf<ClassA>(a); }
public void Setup() { var builder = new ContainerBuilder(); builder.RegisterCodeSwitchToggle<UseNewCodePath>(); builder.RegisterCodeSwitchToggle<UseNewClass>(); builder.EnableCodeSwitchTracking(); builder.RegisterType<Logger>() .As<ILogger>(); builder.RegisterSwitchedType<UseNewClass, IClass, TestClassV2, TestClass>(); builder.RegisterType<TestClass>(); _container = builder.Build(); }