Exemplo n.º 1
0
        /// <summary>
        /// 生成容器
        /// </summary>
        /// <returns>容器</returns>
        private CatLib.Container.Container MakeContainer()
        {
            var container = new CatLib.Container.Container();

            container.Instance("ContainerHelperTests", this);
            container.Instance(typeof(ContainerHelperTests).ToString(), this);
            return(container);
        }
Exemplo n.º 2
0
        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");
        }
Exemplo n.º 3
0
        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");
            });
        }