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>"                );
        }
Example #4
0
        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);
        }
Example #7
0
        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);
        }