public void testAddUsage_Method6() throws ParseException { addType( "Class1", "class Class1 {\n" + " class InnerClass {\n" + " public void method() {}\n" + " };\n" + "}\n", true); resolve(); TypeDeclaration typeDecl1 = _project.getType("Class1"); TypeDeclaration typeDecl2 = typeDecl1.getInnerTypes().get("InnerClass"); MethodDeclaration methodDecl = typeDecl2.getMethods().get(0); _testObject = new FeatureUsages(typeDecl1); _testObject.addUsage(typeDecl1, methodDecl); _testObject.addUsage(typeDecl2, methodDecl); _testObject.addUsage(typeDecl2, methodDecl); // check used types assertNotNull(_testObject.getUsedTypes()); assertEquals(2, _testObject.getUsedTypes().getCount()); assertTrue(_testObject.isUsed(typeDecl1)); assertTrue(_testObject.isUsed(typeDecl2)); assertNotNull(_testObject.getTypeUsage(typeDecl1)); assertNotNull(_testObject.getTypeUsage(typeDecl2)); assertEquals(1, _testObject.getTypeUsage(typeDecl1).getUsedFeatureCount()); assertEquals(1, _testObject.getTypeUsage(typeDecl2).getUsedFeatureCount()); // how many features are used? assertEquals(2, _testObject.getUsedFeatureCount()); assertEquals(0, _testObject.getUsedRemoteFeatureCount()); assertEquals(0, _testObject.getUsedInheritedFeatureCount()); assertEquals(2, _testObject.getUsedLocalFeatureCount()); // how many usages are counted? assertEquals(3, _testObject.getUsageCount()); assertEquals(0, _testObject.getRemoteUsageCount()); assertEquals(0, _testObject.getInheritedUsageCount()); assertEquals(3, _testObject.getLocalUsageCount()); // how many remote types are used? assertEquals(0, _testObject.getUsedRemoteTypeCount()); assertEquals(0, _testObject.getUsedFeatureCountOfMaxUsedRemoteType()); }