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); }