public void FeatureSwitcherRegistrationExtensions_Lifecycle_DisposeTransient_Test() { var mockBehaviour = new MockBooleanBehaviour(false); FeatureSwitcher.Configuration.Features.Are.ConfiguredBy.Custom(mockBehaviour.Behaviour); WindsorContainer container = new WindsorContainer(); container.AddFacility <FeatureSwitcherFacility>(); container.Kernel.Register( Component.For <ServiceConsumer>() .LifestyleTransient(), FeatureSwitch.For <IService>() .UsingFeature <TestFeature>() .ImplementedBy <ServiceEnabled, ServiceDisabled>() .Configure(c => c.LifestyleTransient())); var actualConsumer = container.Resolve <ServiceConsumer>(); container.Release(actualConsumer); Assert.True(actualConsumer.Disposed); Assert.True(actualConsumer.Service.Disposed); }
private IService Test(bool enabled) { var mockBehaviour = new MockBooleanBehaviour(enabled); FeatureSwitcher.Configuration.Features.Are.ConfiguredBy.Custom(mockBehaviour.Behaviour); WindsorContainer container = new WindsorContainer(); container.AddFacility <FeatureSwitcherFacility>(); container.Kernel.Register( FeatureSwitch.For <IService>() .UsingFeature <TestFeature>() .ImplementedBy <ServiceEnabled, ServiceDisabled>() .Configure(c => c.LifestyleTransient())); var actualService = container.Resolve <IService>(); return(actualService); }