public void Should_be_able_to_toggle_a_switch() { var builder = new ContainerBuilder(); builder.RegisterCodeSwitchToggle<UseNewMethod>(); builder.EnableCodeSwitchTracking(); var container = builder.Build(); using (var scope = container.BeginLifetimeScope()) { Assert.IsFalse(scope.Resolve<ICodeSwitch<UseNewMethod>>().Enabled); Assert.AreEqual(1, scope.GetEvaluatedCodeSwitches().Count()); } container.Resolve<IToggleCodeSwitch<UseNewMethod>>().Enable(); using (var scope = container.BeginLifetimeScope()) { Assert.IsTrue(scope.Resolve<ICodeSwitch<UseNewMethod>>().Enabled); Assert.AreEqual(1, scope.GetEvaluatedCodeSwitches().Count()); } }
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(); }
public void Setup() { var builder = new ContainerBuilder(); builder.RegisterModule<ConfigurationCodeFeatureCacheModule>(); builder.RegisterModule<ConfigurationContextFeatureCacheModule<UserContext, UserContextKeyProvider>>(); builder.RegisterCodeSwitch<DbEnabled>(); builder.RegisterContextCodeSwitch<UseNewCodePath, UserContext>(true); builder.EnableCodeSwitchTracking(); builder.RegisterType<Repository>(); _container = builder.Build(); }