public void Test_processAssemblyDefinition()
        {
            ICirData cirData = new CirData();
            AssemblyDefinition testAssembly = getTestAssembly();
            cirFactory.processAssemblyDefinition(cirData, testAssembly,null);
            Assert.That(cirData.dClasses_bySignature.Count > 0, "cirData.dClasses_bySignature.Count == 0");

            // check that all functions from this assembly match
            checkThatAllFunctionsMatch(cirData, testAssembly);

            // check that the type is there 
            TypeDefinition testTypeDefinition = CecilUtils.getType(testAssembly, "testType");
            Assert.That(
                cirData.dClasses_bySignature.ContainsKey(
                    CirFactoryUtils.getTypeUniqueSignatureFromTypeReference(testTypeDefinition)),
                "testTypeDefinition.FullName was not there");
            Assert.IsNotNull(cirData.getClass(testTypeDefinition.FullName),
                             "when using testTypeDefinition.FullName, cirClass was null");

            ICirClass cirClass = cirData.getClass("testType");
            Assert.IsNotNull(cirClass, "when using 'testType',  cirClass was null");
            Test_processTypeDefinition(cirData, cirClass);
        }
        public void Test_MultipleProcessingOfSameTypesAndAssembly()
        {
            ICirData cirData = new CirData();
            AssemblyDefinition testAssembly = getTestAssembly();            
            // add assembly Object
            cirFactory.processAssemblyDefinition(cirData, testAssembly,null);
            ICirClass cirClass = cirData.getClass("testType");
            // test it
            Test_processTypeDefinition(cirData, cirClass);

            // add each type individually
            foreach (TypeDefinition typeDefinition in CecilUtils.getTypes(testAssembly))
                cirFactory.processTypeDefinition(cirData, typeDefinition);

            // test it again
            ICirClass cirClass2 = cirData.getClass("testType");
            Test_processTypeDefinition(cirData, cirClass);
            Test_processTypeDefinition(cirData, cirClass2);
        }