public virtual void Dispose2Test() { bool disposed = false; ITestDisposable a = null; using (var ioc = new Container()) { var registration = ioc.As<ITestDisposable>().Use<MockDisposableClass>(ioc); //as singleton /* AccordConatiner implements IPersunScope*/ registration.BeforeRelease += (sender, args) => { args.RunDispose = false; }; a = ioc.GetService<ITestDisposable>(); a.BeforeDisposeAction = delegate { disposed = true; }; Assert.IsTrue(ioc.IsConfiguredFor(typeof(ITestDisposable))); } Assert.IsFalse(disposed); }
public void DisposeRegistration() { var disposed = false; var created = false; using (var ioc = new Container()) { IConfiguredFactory<MockDisposableClass> registration = ioc.As<ITestDisposable>().Use<MockDisposableClass>(ioc); registration.AfterCreate += (sender, args) => { args.Component.BeforeDisposeAction =() => disposed = true; //((AfterCreateEventArgs)args).Component = new MockDisposableClass2(); }; var myComponent = ioc.GetService<ITestDisposable>(); registration.Dispose(); Assert.IsTrue(disposed); Assert.IsFalse(ioc.IsConfiguredFor(typeof(ITestDisposable))); } }
public virtual void DisposeServiceTest() { bool disposed = false; using (var ioc = new Container()) { ioc.As<ITestDisposable>().Use<MockDisposableClass>(ioc); //as singleton /* AccordConatiner implements IPersunScope*/ var a = ioc.GetService<ITestDisposable>(); a.BeforeDisposeAction = delegate { disposed = true; }; Assert.IsTrue(ioc.IsConfiguredFor(typeof(ITestDisposable))); ioc.DisposeService(typeof(ITestDisposable)); Assert.IsTrue(disposed); Assert.IsFalse(ioc.IsConfiguredFor(typeof(ITestDisposable))); } }