Beispiel #1
0
        public void ShouldConvertNonGenericType()
        {
            var sttc = new StringToTypeTreeConverter();

            PureDI.TypeNameTree tt = sttc.Convert("MyClass");
            Assert.AreEqual("MyClass", tt.TypeFullName);
        }
Beispiel #2
0
        public void ShouldConvertSimpleGenericType()
        {
            var sttc = new StringToTypeTreeConverter();

            PureDI.TypeNameTree tt = sttc.Convert("MyClass<System.Int32>");
            Assert.AreEqual("MyClass`1", tt?.TypeFullName);
            Assert.AreEqual(1, tt?.GenericArguments.Count);
            Assert.AreEqual("System.Int32", tt?.GenericArguments[0]?.TypeFullName);
        }
Beispiel #3
0
        public void ShouldConvertGenericWithNultipleArguments()
        {
            var sttc = new StringToTypeTreeConverter();

            PureDI.TypeNameTree tt = sttc.Convert("MyClass<System.Int32,string>");
            Assert.AreEqual("MyClass`2", tt?.TypeFullName);
            Assert.AreEqual(2, tt?.GenericArguments.Count);
            Assert.AreEqual("System.Int32", tt?.GenericArguments[0]?.TypeFullName);
            Assert.AreEqual("string", tt?.GenericArguments[1]?.TypeFullName);
        }
Beispiel #4
0
        public void SHouldConvertGenericWithMultipleLevels2()
        {
            var sttc = new StringToTypeTreeConverter();

            PureDI.TypeNameTree tt = sttc.Convert("MyClass<MyClass2<System.Int32>,MyClass2<MyClass<string,string>>>");
            Assert.AreEqual("MyClass`2", tt.TypeFullName);
            Assert.AreEqual(2, tt?.GenericArguments.Count);
            Assert.AreEqual("MyClass2`1", tt?.GenericArguments[0]?.TypeFullName);
            Assert.AreEqual("MyClass2`1", tt?.GenericArguments[1]?.TypeFullName);
            Assert.AreEqual("System.Int32", tt?.GenericArguments[0]?.GenericArguments[0]?.TypeFullName);
            Assert.AreEqual("MyClass`2", tt?.GenericArguments[1]?.GenericArguments[0]?.TypeFullName);
        }
Beispiel #5
0
        public void ShouldBuildTreeForBadlyFormedTypeSpec()
        {
            var sttc = new StringToTypeTreeConverter();

            PureDI.TypeNameTree tt;
            tt = sttc.Convert("abc<,<");
            Assert.IsNotNull(tt);
            tt = sttc.Convert("");
            Assert.IsNotNull(tt);
            tt = sttc.Convert(",,,");
            Assert.IsNotNull(tt);
            tt = sttc.Convert("<<<");
            Assert.IsNotNull(tt);
            tt = sttc.Convert(">>>");
            Assert.IsNotNull(tt);
            tt = sttc.Convert(">>>,abc,>");
            Assert.IsNotNull(tt);
            tt = sttc.Convert("<abc>");
            Assert.IsNotNull(tt);
            tt = sttc.Convert("abc,def");
            Assert.IsNotNull(tt);
        }