public void SetUp() { this.objectFactory = new DefaultListableObjectFactory(); IObjectDefinitionReader reader = new XmlObjectDefinitionReader(this.objectFactory); reader.LoadObjectDefinitions(new ReadOnlyXmlTestResource("collectionMergingGeneric.xml", GetType())); }
public void ParsesObjectAttributes() { DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net'> <object id='test1' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' singleton='false' abstract='true' /> <object id='test2' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' singleton='true' abstract='false' lazy-init='true' autowire='no' dependency-check='simple' depends-on='test1' init-method='init' destroy-method='destroy' /> </objects> ")); AbstractObjectDefinition od1 = (AbstractObjectDefinition)of.GetObjectDefinition("test1"); Assert.IsFalse(od1.IsSingleton); Assert.IsTrue(od1.IsAbstract); Assert.IsFalse(od1.IsLazyInit); AbstractObjectDefinition od2 = (AbstractObjectDefinition)of.GetObjectDefinition("test2"); Assert.IsTrue(od2.IsSingleton); Assert.IsFalse(od2.IsAbstract); Assert.IsTrue(od2.IsLazyInit); Assert.AreEqual(AutoWiringMode.No, od2.AutowireMode); Assert.AreEqual("init", od2.InitMethodName); Assert.AreEqual("destroy", od2.DestroyMethodName); Assert.AreEqual(1, od2.DependsOn.Count); Assert.AreEqual("test1", od2.DependsOn[0]); Assert.AreEqual(DependencyCheckingMode.Simple, od2.DependencyCheck); }
public void Setup() { objectFactory = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(objectFactory); reader.LoadObjectDefinitions(new ReadOnlyXmlTestResource("objectNameGeneration.xml", GetType())); }
public void ParsesAutowireCandidate() { DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' default-autowire-candidates='test1*,test4*'> <object id='test1' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' /> <object id='test2' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' autowire-candidate='false' /> <object id='test3' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' autowire-candidate='true' /> <object id='test4' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' autowire-candidate='default' /> <object id='test5' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' autowire-candidate='default' /> </objects> ")); var od = (AbstractObjectDefinition)of.GetObjectDefinition("test1"); Assert.That(od.IsAutowireCandidate, Is.True, "No attribute set should default to true"); od = (AbstractObjectDefinition)of.GetObjectDefinition("test2"); Assert.That(od.IsAutowireCandidate, Is.False, "Specifically attribute set to false should set to false"); od = (AbstractObjectDefinition)of.GetObjectDefinition("test3"); Assert.That(od.IsAutowireCandidate, Is.True, "Specifically attribute set to true should set to false"); od = (AbstractObjectDefinition)of.GetObjectDefinition("test4"); Assert.That(od.IsAutowireCandidate, Is.True, "Attribute set to default should check pattern and return true"); od = (AbstractObjectDefinition)of.GetObjectDefinition("test5"); Assert.That(od.IsAutowireCandidate, Is.False, "Attribute set to default should check pattern and return false"); }
public void ParsesNonDefaultNamespace() { try { NamespaceParserRegistry.Reset(); DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <core:objects xmlns:core='http://www.springframework.net'> <core:object id='test2' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests'> <core:property name='Sibling'> <core:object type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests' /> </core:property> </core:object> </core:objects> ")); TestObject test2 = (TestObject)of.GetObject("test2"); Assert.AreEqual(typeof(TestObject), test2.GetType()); Assert.IsNotNull(test2.Sibling); } finally { NamespaceParserRegistry.Reset(); } }
public void AutoRegistersWellknownNamespaceParser() { try { Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in loadedAssemblies) { if (assembly.GetName(true).Name.StartsWith("Oragon.Spring.Data")) { Assert.Fail("Oragon.Spring.Data is already loaded - this test checks if it gets loaded during xml parsing"); } } NamespaceParserRegistry.Reset(); DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:tx='http://www.springframework.net/tx'> <tx:attribute-driven /> </objects> ")); object apc = of.GetObject(AopNamespaceUtils.AUTO_PROXY_CREATOR_OBJECT_NAME); Assert.NotNull(apc); } finally { NamespaceParserRegistry.Reset(); } }
public virtual void StaticEventWiring() { DefaultListableObjectFactory factory = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(factory); reader.LoadObjectDefinitions(new ReadOnlyXmlTestResource("event-wiring.xml", GetType())); TestEventHandler staticHandler = factory["staticEventListener"] as TestEventHandler; // raise the event... handlers should be notified at this point (obviously) TestObject.OnStaticClick(); Assert.IsTrue(staticHandler.EventWasHandled, "The instance handler did not get notified when the static event was raised (and was probably not wired up in the first place)."); }
public virtual void EventWiringInstanceSinkToPrototypeSource() { DefaultListableObjectFactory factory = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(factory); reader.LoadObjectDefinitions(new ReadOnlyXmlTestResource("event-wiring-prototypes.xml", GetType())); TestEventHandler instanceHandler = factory["instanceSink"] as TestEventHandler; ITestObject source = factory["source"] as ITestObject; // raise the event... handlers should be notified at this point (obviously) source.OnClick(); Assert.IsTrue(instanceHandler.EventWasHandled, "The instance handler did not get notified when the instance event was raised (and was probably not wired up in the first place)."); }
public void WhitespaceValuesArePreservedForValueElementWhenSpaceIsSetToPreserve() { DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net'> <object id='test4' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests'> <property name='name'><value xml:space='preserve'> 

	</value></property> </object> </objects> ")); Assert.AreEqual(" \n\r\t", ((TestObject)of.GetObject("test4")).Name); }
public void ThrowsOnUnknownNamespaceUri() { NamespaceParserRegistry.Reset(); DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); Assert.Throws <ObjectDefinitionStoreException>(() => reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net' xmlns:x='http://www.springframework.net/XXXX'> <x:group id='tripValidator' /> </objects> "))); }
public void ThrowsObjectDefinitionStoreExceptionOnInvalidXml() { try { DefaultListableObjectFactory of = new DefaultListableObjectFactory(); XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(of); reader.LoadObjectDefinitions(new StringResource( @"<?xml version='1.0' encoding='UTF-8' ?> <objects xmlns='http://www.springframework.net'> <object id='test2' type='Oragon.Spring.Objects.TestObject, Oragon.Spring.Core.Tests'> </objects> ")); Assert.Fail(); } catch (ObjectDefinitionStoreException ex) { Assert.IsTrue(ex.Message.IndexOf("Line 4 in XML document from is not well formed.") > -1); } }
public void LoadObjectDefinitionsWithNonExistentResource() { XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(new DefaultListableObjectFactory()); Assert.Throws <ObjectDefinitionStoreException>(() => reader.LoadObjectDefinitions(new ReadOnlyXmlTestResource("/dev/null"))); }
public void LoadObjectDefinitionsWithNullResource() { XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader(new DefaultListableObjectFactory()); Assert.Throws <ObjectDefinitionStoreException>(() => reader.LoadObjectDefinitions((string)null)); }
public void Instantiation() { XmlObjectDefinitionReader reader = new XmlObjectDefinitionReader( new DefaultListableObjectFactory()); }