public void WrongNamespace() { var xmlConfig = new XmlComponentConfiguration(@" <components xmlns='urn:strangenamespace'> <description>test</description> </components>" ); }
public void WrongType() { var xmlConfig = new XmlComponentConfiguration(@" <components xmlns='urn:schemas-nicnet:ioc:v2'> <component name='sb1' type='System.Bla'> </component> </components>" ); }
public void WrongConfigSchema() { var xmlConfig = new XmlComponentConfiguration(@" <components xmlns='urn:schemas-nicnet:ioc:v2'> <component/> <component1/> </components>" ); }
public void InitContainer() { config = createConfig(); componentFactory = new ComponentFactory(config); appContainer = new ApplicationContainer(); appContainer.Add(componentFactory); }
public void WrongRef() { var xmlConfig = new XmlComponentConfiguration(@" <components xmlns='urn:schemas-nicnet:ioc:v2'> <component name='sb1' type='System.Text.StringBuilder'> <constructor-arg><ref name='s2'/></constructor-arg> </component> </components>" ); }
public void FromXmlString() { var xmlConfig = new XmlComponentConfiguration(@" <components xmlns='urn:schemas-nicnet:ioc:v2'> <description>test</description> <component name='s1' type='System.String'/> <component name='sb1' type='System.Text.StringBuilder'> <constructor-arg><ref name='s1'/></constructor-arg> </component> </components>" ); Assert.AreEqual("test", xmlConfig.Description); Assert.AreEqual(2, xmlConfig.Count); }
XmlComponentConfiguration createConfig() { string xml_config = @" <components xmlns='urn:schemas-nicnet:ioc:v2'> <component name='simple_template_template'> <constructor-arg index='1'> <map> <entry key='IUserAccount'><value>accounts</value></entry> <entry key='ICmsPage'><value>pages</value></entry> </map> </constructor-arg> </component> <component name='simple_template' parent='simple_template_template'/> <component name='simple' parent='simple_template' type='NI.Tests.Ioc.Component2,NI.Tests' singleton='true'> <constructor-arg index='0'> <list> <entry><value>1</value></entry> <entry><value>2</value></entry> </list> </constructor-arg> </component> <component name='child' type='NI.Tests.Ioc.Component1,NI.Tests' singleton='true'> <constructor-arg index='0'> <ref name='simple'/> </constructor-arg> </component> <component name='parent_template' type='NI.Tests.Ioc.Component1,NI.Tests' init-method='init' singleton='false'> <property name='PropInt'> <value>6</value> </property> <property name='ActionDep'><ref name='simple' method='ActionMethod'/></property> <property name='FuncDep'><ref name='simple' method='FuncMethod'/></property> </component> <component name='parent' parent='parent_template' singleton='true'> <property name='Dependency1'> <ref name='child'/> </property> </component> <component name='testNamedConstructor' type='NI.Tests.Ioc.Component3,NI.Tests'> <constructor-arg name='age'> <value>5</value> </constructor-arg> <constructor-arg name='name'> <value>John</value> </constructor-arg> </component> <component name='testIndexConstructor' type='NI.Tests.Ioc.Component3,NI.Tests'> <constructor-arg index='1'> <value>5</value> </constructor-arg> <constructor-arg index='0'> <value>John</value> </constructor-arg> </component> <component name='testDelegateInjection' type='NI.Tests.Ioc.Component4,NI.Tests'> <property name='Val'><value>1</value></property> <property name='FormatVal'> <component type='NI.Ioc.DelegateFactory' singleton='false'> <property name='TargetObject'><ref name='testNamedConstructor'/></property> <property name='TargetMethod'><value>FormatIntVal</value></property> <property name='DelegateType'><type>System.Func`2[[System.Int32,mscorlib],[System.String,mscorlib]],mscorlib</type></property> </component> </property> </component> <component name='testDelegateSuggestedInjection' type='NI.Tests.Ioc.Component4,NI.Tests'> <property name='Val'><value>1</value></property> <property name='FormatVal'> <component type='NI.Ioc.DelegateFactory' singleton='false'> <property name='TargetObject'><ref name='testNamedConstructor'/></property> <property name='TargetMethod'><value>FormatIntVal</value></property> </component> </property> <property name='InitVal'> <component type='NI.Ioc.DelegateFactory' singleton='false'> <property name='TargetObject'><ref name='testNamedConstructor'/></property> <property name='TargetMethod'><value>SetAgeToValue</value></property> </component> </property> </component> <component name='componentFactoryContext' type='NI.Ioc.ComponentFactoryContext'/> <component name='componentWithDependencyAttr' type='NI.Tests.Ioc.ComponentWithDependency,NI.Tests' singleton='true'/> <component name='funcType' type='NI.Ioc.ReplacingFactory,NI.Ioc'> <property name='TargetObject'><type>System.Func`1[[System.String,mscorlib]]</type></property> </component> </components> " ; var config = new XmlComponentConfiguration(xml_config); return(config); }