From e0ed04a9b22d7c53109df019e3d92f53dc2f1e60 Mon Sep 17 00:00:00 2001
From: Pavel Vojtechovsky
Date: Mon, 6 Nov 2017 20:26:21 +0100
Subject: [PATCH] ignore the test and move the report of problems into #1691
---
.../test/reflect/meta/MetaModelTest.java | 123 +++++-------------
1 file changed, 32 insertions(+), 91 deletions(-)
diff --git a/src/test/java/spoon/test/reflect/meta/MetaModelTest.java b/src/test/java/spoon/test/reflect/meta/MetaModelTest.java
index 756c2984db7..791b59088ec 100644
--- a/src/test/java/spoon/test/reflect/meta/MetaModelTest.java
+++ b/src/test/java/spoon/test/reflect/meta/MetaModelTest.java
@@ -1,5 +1,6 @@
package spoon.test.reflect.meta;
+import org.junit.Ignore;
import org.junit.Test;
import spoon.Launcher;
@@ -28,101 +29,41 @@
public class MetaModelTest {
+ /*
+ * this test reports all spoon model elements which are not yet handled by meta model
+ * actually this is the result
+ */
+ //enable this test after everything is covered.
@Test
+ @Ignore
public void spoonMetaModelTest() {
- /*
- * this test reports all spoon model elements which are not yet handled by meta model
- * actually this is the result
-Unhandled method signature: CtParameter#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtElement#getAnnotation(java.lang.Class)
-Unhandled method signature: CtElement#getAnnotation(java.lang.Class)
-Unhandled method signature: CtElement#getAnnotation(spoon.reflect.reference.CtTypeReference)
-Unhandled method signature: CtElement#getAnnotation(spoon.reflect.reference.CtTypeReference)
-Unhandled method signature: CtConstructor#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtModifiable#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtAnonymousExecutable#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtJavaDoc#removeTag(int)
-Unhandled method signature: CtJavaDoc#removeTag(int)
-Unhandled method signature: CtStatementList#insertEnd(spoon.reflect.code.CtStatement)
-Unhandled method signature: CtStatementList#insertEnd(spoon.reflect.code.CtStatement)
-Unhandled method signature: CtStatementList#insertEnd(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtStatementList#insertEnd(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtStatementList#insertBegin(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtStatementList#insertBegin(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtClass#getConstructor(spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtClass#getConstructor(spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtBlock#insertEnd(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtBlock#addStatement(spoon.reflect.code.CtStatement)
-Unhandled method signature: CtBlock#insertBegin(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtTypeParameterReference#setBounds(java.util.List)
-Unhandled method signature: CtTypeParameterReference#setBounds(java.util.List)
-Unhandled method signature: CtTypeParameter#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtTypeParameter#getMethod(spoon.reflect.reference.CtTypeReference,java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtTypeParameter#getMethod(java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtTypeParameter#getMethodsAnnotatedWith(spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtLocalVariable#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtType#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtType#getMethod(spoon.reflect.reference.CtTypeReference,java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtType#getMethod(spoon.reflect.reference.CtTypeReference,java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtType#getMethod(java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtType#getMethod(java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtType#getMethodsAnnotatedWith(spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtType#getMethodsAnnotatedWith(spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtCase#insertEnd(spoon.reflect.code.CtStatement)
-Unhandled method signature: CtCase#insertEnd(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtCase#insertBegin(spoon.reflect.code.CtStatementList)
-Unhandled method signature: CtMethod#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtJavaDocTag#setType(java.lang.String)
-Unhandled method signature: CtJavaDocTag#setType(java.lang.String)
-Unhandled method signature: CtField#setVisibility(spoon.reflect.declaration.ModifierKind)
-Unhandled method signature: CtAnnotation#setElementValues(java.util.Map)
-Unhandled method signature: CtAnnotation#setElementValues(java.util.Map)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,java.lang.Object)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,java.lang.Object)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.code.CtLiteral)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.code.CtLiteral)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.code.CtNewArray)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.code.CtNewArray)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.code.CtFieldAccess)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.code.CtFieldAccess)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.declaration.CtAnnotation)
-Unhandled method signature: CtAnnotation#addValue(java.lang.String,spoon.reflect.declaration.CtAnnotation)
-Unhandled method signature: CtEnum#getMethod(java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtEnum#getMethod(spoon.reflect.reference.CtTypeReference,java.lang.String,spoon.reflect.reference.CtTypeReference[])
-Unhandled method signature: CtCatchVariable#setType(spoon.reflect.reference.CtTypeReference)
-Unhandled method signature: CtCatchVariable#getType()
-Unhandled method signature: CtCatchVariable#setVisibility(spoon.reflect.declaration.ModifierKind)
- */
- if(false) {
- //enable this test after everything is covered.
- SpoonMetaModel mm = new SpoonMetaModel(new File("./src/main/java"));
- List problems = new ArrayList<>();
-
- //detect unused CtRoles
- Set unhandledRoles = new HashSet<>(Arrays.asList(CtRole.values()));
+ SpoonMetaModel mm = new SpoonMetaModel(new File("./src/main/java"));
+ List problems = new ArrayList<>();
+
+ //detect unused CtRoles
+ Set unhandledRoles = new HashSet<>(Arrays.asList(CtRole.values()));
- mm.getMMTypes().forEach(mmType -> {
- mmType.getRole2field().forEach((role, mmField) -> {
- unhandledRoles.remove(role);
- if (mmField.getMethod(MMMethodKind.GET) == null) {
- problems.add("Missing getter for " + mmField.getOwnerType().getName() + " and CtRole." + mmField.getRole());
- }
- if (mmField.getMethod(MMMethodKind.SET) == null) {
- if (mmType.getTypeContext().isSubtypeOf(mm.getFactory().Type().createReference(CtReference.class)) == false
- && mmType.getName().equals("CtTypeInformation") == false) {
- //only NON references needs a setter
- problems.add("Missing setter for " + mmField.getOwnerType().getName() + " and CtRole." + mmField.getRole());
- }
- }
-
- mmField.forEachUnhandledMethod(ctMethod -> problems.add("Unhandled method signature: " + mmType.getName() + "#" + ctMethod.getSignature()));
- });
+ mm.getMMTypes().forEach(mmType -> {
+ mmType.getRole2field().forEach((role, mmField) -> {
+ unhandledRoles.remove(role);
+ if (mmField.getMethod(MMMethodKind.GET) == null) {
+ problems.add("Missing getter for " + mmField.getOwnerType().getName() + " and CtRole." + mmField.getRole());
+ }
+ if (mmField.getMethod(MMMethodKind.SET) == null) {
+ if (mmType.getTypeContext().isSubtypeOf(mm.getFactory().Type().createReference(CtReference.class)) == false
+ && mmType.getName().equals("CtTypeInformation") == false) {
+ //only NON references needs a setter
+ problems.add("Missing setter for " + mmField.getOwnerType().getName() + " and CtRole." + mmField.getRole());
+ }
+ }
+
+ mmField.forEachUnhandledMethod(ctMethod -> problems.add("Unhandled method signature: " + ctMethod.getDeclaringType().getSimpleName() + "#" + ctMethod.getSignature()));
});
-
- unhandledRoles.forEach(it -> problems.add("Unused CtRole." + it.name()));
-
- assertTrue(String.join("\n", problems), problems.isEmpty());
- }
+ });
+
+ unhandledRoles.forEach(it -> problems.add("Unused CtRole." + it.name()));
+
+ assertTrue(String.join("\n", problems), problems.isEmpty());
}
@Test
public void elementAnnotationRoleHandlerTest() {