Exemplo n.º 1
0
        public void Can_Query_For_Nested_Type()
        {
            var query       = new TypeQuery("BaseLibrary.TypeQuery", "*NestedClass*");
            var nestedTypes = query.GetTypes(TestConstants.BaseLibV1Assembly);

            Assert.AreEqual(1, nestedTypes.Count, "Should get nested type.");
        }
Exemplo n.º 2
0
        public void Should_Get_All_Generic_And_NonGeneric_Types()
        {
            var query        = new TypeQuery(TestConstants.TypeEquivalenceNS, "Class1*");
            var genericTypes = query.GetTypes(TestConstants.BaseLibV1Assembly);

            Assert.AreEqual(3, genericTypes.Count, "Should get all instances");
        }
Exemplo n.º 3
0
        public void Get_Generic_Type_With_One_Generic_Argument()
        {
            var query        = new TypeQuery(TestConstants.TypeEquivalenceNS, "Class1<A>");
            var genericTypes = query.GetTypes(TestConstants.BaseLibV1Assembly);

            Assert.AreEqual(1, genericTypes.Count, "Should get one instance");
        }
Exemplo n.º 4
0
        public void Load_Public_Interfaces_From_Namespace()
        {
            var query = new TypeQuery(TypeQueryMode.Public | TypeQueryMode.Interface, TypeQueryNS + "*");
            List <TypeDefinition> types = query.GetTypes(TestConstants.BaseLibV1Assembly);

            Assert.AreEqual(2, types.Count);
        }
Exemplo n.º 5
0
        public void Load_Internal_Interfaces()
        {
            TypeQuery             query = new TypeQuery(TypeQueryMode.Internal | TypeQueryMode.Interface, TypeQueryNS);
            List <TypeDefinition> types = query.GetTypes(TestConstants.BaseLibV1Assembly);

            Assert.AreEqual(1, types.Count);
            Assert.AreEqual(TestConstants.BaseLibV1Interface1Internal, types[0].FullName);
        }
Exemplo n.º 6
0
        public void Load_Internal_NotCompilerGenerated_Classes_Without_NameSpace()
        {
            TypeQuery query = new TypeQuery(
                TypeQueryMode.Internal | TypeQueryMode.Class,
                "");

            var types = query.GetTypes(TestConstants.BaseLibV1Assembly);

            try
            {
                Assert.AreEqual(1, types.Count);
                Assert.AreEqual("<Module>", types[0].FullName);
            }
            finally
            {
                if (ExceptionHelper.InException)
                {
                    foreach (var t in types)
                    {
                        Console.WriteLine("Got: {0}", t);
                    }
                }
            }

            query.SearchMode |= TypeQueryMode.NotCompilerGenerated;

            var typesWithOutCompilerGeneratedClasses = query.GetTypes(TestConstants.BaseLibV1Assembly);

            try
            {
                Assert.AreEqual(0, typesWithOutCompilerGeneratedClasses.Count);
            }
            finally
            {
                if (ExceptionHelper.InException)
                {
                    foreach (var t in typesWithOutCompilerGeneratedClasses)
                    {
                        Console.WriteLine("Got: {0}", t);
                    }
                }
            }
        }
Exemplo n.º 7
0
        public void Load_Public_Interface_With_Exact_Namespace_Match()
        {
            var query = new TypeQuery(TypeQueryMode.Public | TypeQueryMode.Interface, TypeQueryNS + ".SubNs");
            AssemblyDefinition assembly = TestConstants.BaseLibV1Assembly;

            List <TypeDefinition> types = query.GetTypes(assembly);

            Assert.AreEqual(1, types.Count);
            Assert.AreEqual("BaseLibrary.TypeQuery.SubNs.PublicInterfaceInLowerNS", types[0].FullName);
        }
Exemplo n.º 8
0
        public void Load_Internal_Valuetypes_NotCompilierGenerated()
        {
            TypeQuery query = new TypeQuery(
                TypeQueryMode.Internal | TypeQueryMode.ValueType | TypeQueryMode.NotCompilerGenerated | TypeQueryMode.Enum,
                TypeQueryNS);

            var types = query.GetTypes(TestConstants.BaseLibV1Assembly).SortByTypeName();

            Assert.AreEqual(2, types.Count);
            Assert.AreEqual("BaseLibrary.TypeQuery.EnumInternal", types[0].FullName);
            Assert.AreEqual("BaseLibrary.TypeQuery.StructInternal", types[1].FullName);
        }
Exemplo n.º 9
0
        public void Load_Internal_Classes()
        {
            TypeQuery             query = new TypeQuery(TypeQueryMode.Internal | TypeQueryMode.Class, TypeQueryNS);
            List <TypeDefinition> types = query.GetTypes(TestConstants.BaseLibV1Assembly).SortByTypeName();

            try
            {
                Assert.AreEqual(2, types.Count);
                Assert.AreEqual("BaseLibrary.TypeQuery.ClassInternal", types[0].FullName);
            }
            finally
            {
                if (ExceptionHelper.InException)
                {
                    foreach (var t in types)
                    {
                        Console.WriteLine("Got {0}", t.FullName);
                    }
                }
            }
        }
Exemplo n.º 10
0
 public void Can_Query_For_Generic_Type()
 {
     TypeQueryFactory fac = new TypeQueryFactory();
     TypeQuery        tq  = fac.GetQueries("IEnumerable<string>")[0];
     var matchingTypes    = tq.GetTypes(TestConstants.MscorlibAssembly);
 }