Update of /cvsroot/springnet/Spring.Net/test/Spring/Spring.Core.Tests/Objects/Factory/Config
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv22662
Modified Files:
PropertyOverrideConfigurerTests.cs
Log Message:
Improved PropertyOverrideConfigurer to support 'ref' value override [SPRNET-745]
Index: PropertyOverrideConfigurerTests.cs
===================================================================
RCS file: /cvsroot/springnet/Spring.Net/test/Spring/Spring.Core.Tests/Objects/Factory/Config/PropertyOverrideConfigurerTests.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** PropertyOverrideConfigurerTests.cs 8 Aug 2007 17:49:04 -0000 1.7
--- PropertyOverrideConfigurerTests.cs 10 Oct 2007 16:07:20 -0000 1.8
***************
*** 52,77 ****
}
[Test]
! public void SunnyDay()
{
StaticApplicationContext ac = new StaticApplicationContext();
! ac.RegisterSingleton("tb1", typeof (TestObject), new MutablePropertyValues());
! ac.RegisterSingleton("tb2", typeof (TestObject), new MutablePropertyValues());
! MutablePropertyValues pvs = new MutablePropertyValues();
! pvs.Add("Properties", "<spring-config><add key=\"tb1.Age\" value=\"99\"/><add key=\"tb2.Name\" value=\"test\"/></spring-config>");
! ac.RegisterSingleton("configurer1", typeof (PropertyOverrideConfigurer), pvs);
! pvs = new MutablePropertyValues();
! pvs.Add("Properties", "<spring-config><add key=\"tb2.Age\" value=\"99\"/><add key=\"tb2.Name\" value=\"test\"/></spring-config>");
! pvs.Add("order", "0");
! ac.RegisterSingleton("configurer2", typeof (PropertyOverrideConfigurer), pvs);
ac.Refresh();
TestObject tb1 = (TestObject) ac.GetObject("tb1");
- TestObject tb2 = (TestObject) ac.GetObject("tb2");
Assert.AreEqual(99, tb1.Age);
! Assert.AreEqual(99, tb2.Age);
! Assert.AreEqual(null, tb1.Name);
! Assert.AreEqual("test", tb2.Name);
}
[Test]
public void MalformedOverrideKey()
--- 52,119 ----
}
+ [Test]
+ public void AddPropertyValue()
+ {
+ StaticApplicationContext ac = new StaticApplicationContext();
+ ac.RegisterSingleton("tb1", typeof(TestObject), new MutablePropertyValues());
+ ac.RegisterSingleton("tb2", typeof(TestObject), new MutablePropertyValues());
+ MutablePropertyValues pvs = new MutablePropertyValues();
+ pvs.Add("Properties", "<spring-config><add key=\"tb1.Age\" value=\"99\"/><add key=\"tb2.Name\" value=\"test\"/></spring-config>");
+ ac.RegisterSingleton("configurer1", typeof(PropertyOverrideConfigurer), pvs);
+ pvs = new MutablePropertyValues();
+ pvs.Add("Properties", "<spring-config><add key=\"tb2.Age\" value=\"99\"/><add key=\"tb2.Name\" value=\"test\"/></spring-config>");
+ pvs.Add("order", "0");
+ ac.RegisterSingleton("configurer2", typeof(PropertyOverrideConfigurer), pvs);
+ ac.Refresh();
+ TestObject tb1 = (TestObject)ac.GetObject("tb1");
+ TestObject tb2 = (TestObject)ac.GetObject("tb2");
+ Assert.AreEqual(99, tb1.Age);
+ Assert.AreEqual(99, tb2.Age);
+ Assert.AreEqual(null, tb1.Name);
+ Assert.AreEqual("test", tb2.Name);
+ }
+
[Test]
! public void OverridePropertyValue()
{
StaticApplicationContext ac = new StaticApplicationContext();
!
! MutablePropertyValues pvs = new MutablePropertyValues();
! pvs.Add("Age", 27);
! pvs.Add("Name", "Bruno");
! ac.RegisterSingleton("tb1", typeof(TestObject), pvs);
!
! pvs = new MutablePropertyValues();
! pvs.Add("Properties", "<spring-config><add key=\"tb1.Age\" value=\"99\"/><add key=\"tb1.Name\" value=\"test\"/></spring-config>");
! ac.RegisterSingleton("configurer", typeof (PropertyOverrideConfigurer), pvs);
!
ac.Refresh();
TestObject tb1 = (TestObject) ac.GetObject("tb1");
Assert.AreEqual(99, tb1.Age);
! Assert.AreEqual("test", tb1.Name);
}
+ [Test]
+ public void OverridePropertyReference()
+ {
+ StaticApplicationContext ac = new StaticApplicationContext();
+
+ MutablePropertyValues pvs = new MutablePropertyValues();
+ pvs.Add("Spouse", new RuntimeObjectReference("spouse1"));
+ ac.RegisterSingleton("tb1", typeof(TestObject), pvs);
+
+ ac.RegisterSingleton("spouse1", typeof(TestObject), new MutablePropertyValues());
+ ac.RegisterSingleton("spouse2", typeof(TestObject), new MutablePropertyValues());
+
+ pvs = new MutablePropertyValues();
+ pvs.Add("Properties", "<spring-config><add key=\"tb1.Spouse\" value=\"spouse2\"/></spring-config>");
+ ac.RegisterSingleton("configurer", typeof(PropertyOverrideConfigurer), pvs);
+
+ ac.Refresh();
+ TestObject tb1 = (TestObject)ac.GetObject("tb1");
+ TestObject spouse2 = (TestObject)ac.GetObject("spouse2");
+ Assert.AreEqual(spouse2, tb1.Spouse);
+ }
+
[Test]
public void MalformedOverrideKey()
|