Example #1
0
        public void TestObjectInjectWithNames()
        {
            ICsClassHierarchy classH   = TangFactory.GetTang().GetDefaultClassHierarchy();
            IList <INode>     injected = new List <INode>();

            injected.Add(classH.GetNode(typeof(TestSetInjection.Integer)));
            injected.Add(classH.GetNode(typeof(TestSetInjection.Float)));

            IConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindList(typeof(ListOfClasses).AssemblyQualifiedName, injected);

            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());

            i.BindVolatileInstance(GenericType <TestSetInjection.Integer> .Class, new TestSetInjection.Integer(42));
            i.BindVolatileInstance(GenericType <TestSetInjection.Float> .Class, new TestSetInjection.Float(42.0001f));
            IList <INumber> actual = ((PoolListClass)i.GetInstance(typeof(PoolListClass))).Numbers;

            Assert.True(actual.Contains(new TestSetInjection.Integer(42)));
            Assert.True(actual.Contains(new TestSetInjection.Float(42.0001f)));
        }
Example #2
0
        public void TestStringInjectConfigurationBuilder()
        {
            ICsClassHierarchy   classH   = TangFactory.GetTang().GetDefaultClassHierarchy();
            INamedParameterNode np       = (INamedParameterNode)classH.GetNode(typeof(StringList));
            IList <string>      injected = new List <string>();

            injected.Add("hi");
            injected.Add("hello");
            injected.Add("bye");

            IConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindList(np, injected);

            IInjector      i      = TangFactory.GetTang().NewInjector(cb.Build());
            IList <string> actual = ((StringClass)i.GetInstance(typeof(StringClass))).StringList;

            Assert.True(actual.Contains("hi"));
            Assert.True(actual.Contains("hello"));
            Assert.True(actual.Contains("bye"));
            Assert.Equal(actual.Count, 3);
        }
Example #3
0
        public void TestBoolListWithNamedParameter()
        {
            ICsClassHierarchy   classH   = TangFactory.GetTang().GetDefaultClassHierarchy();
            INamedParameterNode np       = (INamedParameterNode)classH.GetNode(typeof(BoolListClass.NamedBoolList));
            IList <string>      injected = new List <string>();

            injected.Add("true");
            injected.Add("false");
            injected.Add("true");

            IConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindList(np, injected);

            IInjector     i = TangFactory.GetTang().NewInjector(cb.Build());
            BoolListClass o = i.GetInstance <BoolListClass>();

            IList <bool> expected = new List <bool>();

            expected.Add(true);
            expected.Add(false);
            expected.Add(true);
            o.Verify(expected);
        }
Example #4
0
        public void TestIntListWithNamedParameter()
        {
            ICsClassHierarchy   classH   = TangFactory.GetTang().GetDefaultClassHierarchy();
            INamedParameterNode np       = (INamedParameterNode)classH.GetNode(typeof(IntListClass.NamedIntList));
            IList <string>      injected = new List <string>();

            injected.Add("1");
            injected.Add("2");
            injected.Add("3");

            IConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindList(np, injected);

            IInjector    i = TangFactory.GetTang().NewInjector(cb.Build());
            IntListClass o = i.GetInstance <IntListClass>();

            IList <int> expected = new List <int>();

            expected.Add(1);
            expected.Add(2);
            expected.Add(3);
            o.Verify(expected);
        }
Example #5
0
 public object GetInstance(string clazz)
 {
     return(GetInstance(classHierarchy.GetNode(clazz)));
 }
Example #6
0
 public object GetInstance(string clazz)
 {
     CheckNamedParameter(ReflectionUtilities.GetTypeByName(clazz));
     return(GetInstance(classHierarchy.GetNode(clazz)));
 }