public void CanOnRelease() { var container = new CatLib.Container.Container(); var bindData = new CatLib.Container.BindData(container, "CanAddOnRelease", (app, param) => "hello world", true); bindData.OnRelease((bind, obj) => { Assert.AreEqual("Test", obj); Assert.AreSame(bindData, bind); }); container.Instance("CanAddOnRelease", "Test"); container.Release("CanAddOnRelease"); }
public void CheckIllegalRelease() { var container = new CatLib.Container.Container(); var bindData = new CatLib.Container.BindData(container, "CheckIllegalRelease", (app, param) => "hello world", false); Assert.Throws <ArgumentNullException>(() => { bindData.OnRelease(null); }); Assert.Throws <RuntimeException>(() => { bindData.OnRelease((bind, obj) => { Assert.Fail(); }); container.Instance("CheckIllegalRelease", "Test"); container.Release("CheckIllegalRelease"); }); }