public void Value_Test3() { var parentContainer = new IocContainer(); var childContainer = new IocContainer(parentContainer); parentContainer.AddValue("value1", 1); parentContainer.AddValue("value2", "2"); parentContainer.AddValue("value3", false); childContainer.AddValue("value1", 9999); childContainer.AddValue("value2", "9999"); childContainer.AddService(typeof(IValueService), typeof(ValueService1)); parentContainer.AddService(typeof(IValueService), typeof(ValueService2)); var childService = childContainer.GetService(typeof(IValueService)) as IValueService; var parentService = parentContainer.GetService(typeof(IValueService)) as IValueService; Assert.Equal(1, parentService.Value1); Assert.Equal("2", parentService.Value2); Assert.Equal(false, parentService.Value3); Assert.Equal(9999, childService.Value1); Assert.Equal("9999", childService.Value2); Assert.Equal(false, childService.Value3); }
public void TypeValue_Test2() { var type = typeof(IValueService); var container = new IocContainer(); var childContainer = new IocContainer(container); container.AddValue(type, "A", 15); Assert.Equal(15, childContainer.GetValue(type, "A")); int index = 0; container.AddValue(type, "B", lmp => ++ index); Assert.Equal(1, childContainer.GetValue(type, "B")); Assert.Equal(2, childContainer.GetValue(type, "B")); index = 0; container.AddValue(type, "C", lmp => ++ index, true); Assert.Equal(1, childContainer.GetValue(type, "C")); Assert.Equal(1, childContainer.GetValue(type, "C")); Assert.True(childContainer.ContainsValue(type, "A", true)); container.RemoveValue(type, "A", true); Assert.False(childContainer.ContainsValue(type, "A", true)); index = 0; container.AddValue(type, "D", lmp => ++ index); Assert.Equal(1, childContainer.GetValue(type, "D")); Assert.Equal(2, container.GetValue(type, "D")); }
public void LastMappingTest2() { var container = new IocContainer(); container.AddValue("baseValue1", 10); container.AddValue("baseValue2", 20); container.AddService(typeof(LastMapperTestModel)); var ex = Assert.Throws <ArgumentException>(() => container.GetService(typeof(LastMapperTestModel), 50)); Assert.Equal("value1", ex.ParamName); }
public void LastMappingTest1() { var container = new IocContainer(); container.AddValue("baseValue1", 10); container.AddValue("baseValue2", 20); container.AddService(typeof(LastMapperTestModel)); var model = container.GetService(typeof(LastMapperTestModel), 50, 80) as LastMapperTestModel; Assert.Equal(10, model.BaseValue1); Assert.Equal(20, model.BaseValue2); Assert.Equal(80, model.Value1); Assert.Equal(50, model.Value2); }
public void TypeValue_Test3() { var parentContainer = new IocContainer(); var childContainer = new IocContainer(parentContainer); parentContainer.AddValue("value1", 1); parentContainer.AddValue("value2", "2"); parentContainer.AddValue("value3", false); childContainer.AddValue("value1", 9999); childContainer.AddValue("value2", "9999"); childContainer.AddService(typeof(IValueService), typeof(ValueService1)); parentContainer.AddService(typeof(IValueService), typeof(ValueService2)); var childService = childContainer.GetService(typeof(IValueService)) as IValueService; var parentService = parentContainer.GetService(typeof(IValueService)) as IValueService; Assert.Equal(1, parentService.Value1); Assert.Equal("2", parentService.Value2); Assert.Equal(false, parentService.Value3); Assert.Equal(9999, childService.Value1); Assert.Equal("9999", childService.Value2); Assert.Equal(false, childService.Value3); childContainer.AddValue(typeof(IValueService), "value2", "8888"); var childService2 = childContainer.GetService(typeof(IValueService)) as IValueService; Assert.Equal(9999, childService2.Value1); Assert.Equal("9999", childService2.Value2); //- 因为已映射,所以这里的值还是历史值 Assert.Equal(false, childService2.Value3); childContainer.RemoveService(typeof(IValueService)); childContainer.AddService(typeof(IValueService), typeof(ValueService1)); var childService3 = childContainer.GetService(typeof(IValueService)) as IValueService; Assert.Equal("8888", childService3.Value2); }
public void Value_Test1() { var container = new IocContainer(); container.AddValue("A", 15); Assert.Equal(15, container.GetValue("A")); int index = 0; container.AddValue("B", lmp => ++ index); Assert.Equal(1, container.GetValue("B")); Assert.Equal(2, container.GetValue("B")); index = 0; container.AddValue("C", lmp => ++ index, true); Assert.Equal(1, container.GetValue("C")); Assert.Equal(1, container.GetValue("C")); Assert.True(container.ContainsValue("A")); container.RemoveValue("A"); Assert.False(container.ContainsValue("A")); }
public void LastMappingTest2() { var container = new IocContainer(); container.AddValue("baseValue1", 10); container.AddValue("baseValue2", 20); container.AddService(typeof(LastMapperTestModel)); var ex = Assert.Throws<ArgumentException>(() => container.GetService(typeof(LastMapperTestModel), 50)); Assert.Equal("value1", ex.ParamName); }
public void TypeValue_Test2() { var type = typeof(IValueService); var container = new IocContainer(); var childContainer = new IocContainer(container); container.AddValue(type, "A", 15); Assert.Equal(15, childContainer.GetValue(type, "A")); int index = 0; container.AddValue(type, "B", lmp => ++index); Assert.Equal(1, childContainer.GetValue(type, "B")); Assert.Equal(2, childContainer.GetValue(type, "B")); index = 0; container.AddValue(type, "C", lmp => ++index, true); Assert.Equal(1, childContainer.GetValue(type, "C")); Assert.Equal(1, childContainer.GetValue(type, "C")); Assert.True(childContainer.ContainsValue(type, "A", true)); container.RemoveValue(type, "A", true); Assert.False(childContainer.ContainsValue(type, "A", true)); index = 0; container.AddValue(type, "D", lmp => ++index); Assert.Equal(1, childContainer.GetValue(type, "D")); Assert.Equal(2, container.GetValue(type, "D")); }
public void Value_Test1() { var container = new IocContainer(); container.AddValue("A", 15); Assert.Equal(15, container.GetValue("A")); int index = 0; container.AddValue("B", lmp => ++index); Assert.Equal(1, container.GetValue("B")); Assert.Equal(2, container.GetValue("B")); index = 0; container.AddValue("C", lmp => ++index, true); Assert.Equal(1, container.GetValue("C")); Assert.Equal(1, container.GetValue("C")); Assert.True(container.ContainsValue("A")); container.RemoveValue("A"); Assert.False(container.ContainsValue("A")); }