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")); }
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")); }
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))); }
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)); }
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)); }
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)); }
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")); }
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")); }