Example #1
0
        public void TypeValue_Test2()
        {
            var type           = typeof(IValueService);
            var container      = new IocContainer();
            var childContainer = new IocContainer(container);

            container.Add(type, "A", 15);
            Assert.Equal(15, childContainer.Get(type, "A"));

            int index = 0;

            container.Add(type, "B", lmp => ++ index);
            Assert.Equal(1, childContainer.Get(type, "B"));
            Assert.Equal(2, childContainer.Get(type, "B"));
            index = 0;

            container.Add(type, "C", lmp => ++ index, true);

            Assert.Equal(1, childContainer.Get(type, "C"));
            Assert.Equal(1, childContainer.Get(type, "C"));

            Assert.True(childContainer.Contains(type, "A", true));
            container.Remove(type, "A", true);
            Assert.False(childContainer.Contains(type, "A", true));

            index = 0;
            container.Add(type, "D", lmp => ++ index);
            Assert.Equal(1, childContainer.Get(type, "D"));
            Assert.Equal(2, container.Get(type, "D"));
        }
Example #2
0
        public void Value_Test2()
        {
            var container      = new IocContainer();
            var childContainer = new IocContainer(container);

            container.Add("A", 15);
            Assert.Equal(15, childContainer.Get("A"));

            int index = 0;

            container.Add("B", lmp => ++ index);
            Assert.Equal(1, childContainer.Get("B"));
            Assert.Equal(2, childContainer.Get("B"));
            index = 0;

            container.Add("C", lmp => ++ index, true);

            Assert.Equal(1, childContainer.Get("C"));
            Assert.Equal(1, childContainer.Get("C"));

            Assert.True(childContainer.Contains("A", true));
            container.Remove("A", true);
            Assert.False(childContainer.Contains("A", true));

            index = 0;
            container.Add("D", lmp => ++ index);
            Assert.Equal(1, childContainer.Get("D"));
            Assert.Equal(2, container.Get("D"));
        }
Example #3
0
        public void GetServiceTest1()
        {
            var itype     = typeof(IService1);
            var container = new IocContainer();

            Assert.False(container.Contains(itype));
            Assert.NotNull(container.Get(itype));
            Assert.False(container.Contains(typeof(IService_NotFound)));
            Assert.Null(container.Get(typeof(IService_NotFound)));
        }
Example #4
0
        public void GetServiceTest1()
        {
            var itype = typeof(IService1);
            var container = new IocContainer();

            Assert.False(container.Contains(itype));
            Assert.NotNull(container.Get(itype));
            Assert.False(container.Contains(typeof(IService_NotFound)));
            Assert.Null(container.Get(typeof(IService_NotFound)));
        }
Example #5
0
        public void ContainsServiceServiceTest1()
        {
            var container      = new IocContainer();
            var childContainer = new IocContainer(container);
            var itype          = typeof(IService2);

            childContainer.Add(itype, lmp => new XService2(), promote: true);
            Assert.True(childContainer.Contains(itype));
            childContainer.Remove(itype);
            Assert.False(childContainer.Contains(itype));
            Assert.True(childContainer.Contains(itype, true));
        }
Example #6
0
        public void RemoveServiceTest2()
        {
            var container      = new IocContainer();
            var childContainer = new IocContainer(container);
            var itype          = typeof(IService2);

            childContainer.Add(itype, lmp => new XService2(), promote: true);
            Assert.True(container.Contains(itype));
            Assert.True(childContainer.Contains(itype));
            container.Add(itype, lmp => new DefaultService2());
            Assert.IsAssignableFrom <XService2>(childContainer.Get(itype));
            Assert.IsAssignableFrom <DefaultService2>(container.Get(itype));
            childContainer.Remove(itype, true);
            Assert.False(container.Contains(itype));
            Assert.False(childContainer.Contains(itype));
        }
Example #7
0
 public void RemoveServiceTest1()
 {
     var container = new IocContainer();
     var childContainer = new IocContainer(container);
     var itype = typeof(IService2);
     childContainer.Add(itype, lmp => new XService2(), promote: true);
     Assert.True(container.Contains(itype));
     Assert.True(childContainer.Contains(itype));
     container.Add(itype, lmp => new DefaultService2());
     Assert.IsAssignableFrom<XService2>(childContainer.Get(itype));
     Assert.IsAssignableFrom<DefaultService2>(container.Get(itype));
     childContainer.Remove(itype);
     Assert.IsAssignableFrom<DefaultService2>(childContainer.Get(itype));
     Assert.IsAssignableFrom<DefaultService2>(container.Get(itype));
     Assert.False(childContainer.Contains(itype));
 }
Example #8
0
 public void ContainsServiceServiceTest1()
 {
     var container = new IocContainer();
     var childContainer = new IocContainer(container);
     var itype = typeof(IService2);
     childContainer.Add(itype, lmp => new XService2(), promote: true);
     Assert.True(childContainer.Contains(itype));
     childContainer.Remove(itype);
     Assert.False(childContainer.Contains(itype));
     Assert.True(childContainer.Contains(itype, true));
 }
Example #9
0
        public void TypeValue_Test2()
        {
            var type = typeof(IValueService);
            var container = new IocContainer();
            var childContainer = new IocContainer(container);
            container.Add(type, "A", 15);
            Assert.Equal(15, childContainer.Get(type, "A"));

            int index = 0;
            container.Add(type, "B", lmp => ++index);
            Assert.Equal(1, childContainer.Get(type, "B"));
            Assert.Equal(2, childContainer.Get(type, "B"));
            index = 0;

            container.Add(type, "C", lmp => ++index, true);

            Assert.Equal(1, childContainer.Get(type, "C"));
            Assert.Equal(1, childContainer.Get(type, "C"));

            Assert.True(childContainer.Contains(type, "A", true));
            container.Remove(type, "A", true);
            Assert.False(childContainer.Contains(type, "A", true));

            index = 0;
            container.Add(type, "D", lmp => ++index);
            Assert.Equal(1, childContainer.Get(type, "D"));
            Assert.Equal(2, container.Get(type, "D"));

        }
Example #10
0
        public void Value_Test2()
        {
            var container = new IocContainer();
            var childContainer = new IocContainer(container);
            container.Add("A", 15);
            Assert.Equal(15, childContainer.Get("A"));

            int index = 0;
            container.Add("B", lmp => ++index);
            Assert.Equal(1, childContainer.Get("B"));
            Assert.Equal(2, childContainer.Get("B"));
            index = 0;

            container.Add("C", lmp => ++index, true);

            Assert.Equal(1, childContainer.Get("C"));
            Assert.Equal(1, childContainer.Get("C"));

            Assert.True(childContainer.Contains("A", true));
            container.Remove("A", true);
            Assert.False(childContainer.Contains("A", true));

            index = 0;
            container.Add("D", lmp => ++index);
            Assert.Equal(1, childContainer.Get("D"));
            Assert.Equal(2, container.Get("D"));

        }