From c5215039a4e589cfc170bf48bb80c884cddc11e0 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Tue, 16 Dec 2025 13:47:25 +0100 Subject: [PATCH 1/4] fix some trafo tests after searchplan optimization backport --- .../constraintModularisationTests/ConstraintTest.java | 2 -- .../de/monticore/cdlib/evaluationTests/TestCases.java | 8 ++++---- .../cdlib/evaluationTests/TestCasesExtractSuperclass.java | 8 ++++---- .../refactoringTests/ExtractIntermediateClassTest.java | 2 +- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java b/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java index 1f9d5c9ac..ce656433e 100644 --- a/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java +++ b/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java @@ -12,7 +12,6 @@ import java.io.IOException; import java.util.Optional; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** Created by Alexander Wilts on 31.10.2016. */ @@ -384,7 +383,6 @@ public void testTrafoOptionalInOrConstraint() throws IOException { } @Test - @Disabled // TODO: This test fails due to the order of interfaces and classes public void testTrafoOptionalInOrInList() throws IOException { Optional astOpt = CD4CodeMill.parser().parse(DexInfrastructureCD); diff --git a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java index d99e09b5f..bb844b7d5 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java @@ -117,22 +117,22 @@ public void testCase1() throws IOException { .getCDAttributeList().size()); assertEquals("attributeA", utility.getAst().getCDDefinition().getCDClassesList().get(2) .getCDAttributeList().get(0).getName()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(2) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(2) .printSuperclasses()); assertEquals("ClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(3) .getCDAttributeList().size()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(3) .printSuperclasses()); assertEquals("ClassD", utility.getAst().getCDDefinition().getCDClassesList().get(4).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(4) .getCDAttributeList().size()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(4) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(4) .printSuperclasses()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(5) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(5) .getName()); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); diff --git a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java index ace1bde00..7166f6393 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java @@ -113,22 +113,22 @@ public void testCase1() throws IOException { .getCDAttributeList().size()); assertEquals("attributeA", utility.getAst().getCDDefinition().getCDClassesList().get(2) .getCDAttributeList().get(0).getName()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(2) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(2) .printSuperclasses()); assertEquals("ClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(3) .getCDAttributeList().size()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(3) .printSuperclasses()); assertEquals("ClassD", utility.getAst().getCDDefinition().getCDClassesList().get(4).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(4) .getCDAttributeList().size()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(4) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(4) .printSuperclasses()); - assertEquals("ClassBClassDClassC", utility.getAst().getCDDefinition().getCDClassesList().get(5) + assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(5) .getName()); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); diff --git a/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java b/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java index 9046e5709..47b355d93 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java @@ -109,7 +109,7 @@ public void testExtractSuperclasses3ClassesAutoName() throws IOException { assertEquals("ClassB2", utility.getAst().getCDDefinition().getCDClassesList().get(5).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); - assertEquals("ClassA1ClassA3ClassA2", utility.getAst().getCDDefinition().getCDClassesList().get( + assertEquals("ClassA3ClassA2ClassA1", utility.getAst().getCDDefinition().getCDClassesList().get( 6).getName()); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(6) .getCDAttributeList().size()); From f6176fc9289bc50c542d26804dd6a213c4cb5d28 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Mon, 22 Dec 2025 16:32:04 +0100 Subject: [PATCH 2/4] make previously fixed assertions independent of pattern matching order --- .../cdlib/evaluationTests/TestCases.java | 23 ++++++++++++------- .../TestCasesExtractSuperclass.java | 23 ++++++++++++------- .../ExtractIntermediateClassTest.java | 13 +++++++++-- 3 files changed, 41 insertions(+), 18 deletions(-) diff --git a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java index bb844b7d5..1539a70bd 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java @@ -20,6 +20,8 @@ import de.monticore.prettyprint.IndentPrinter; import de.se_rwth.commons.logging.Log; import java.io.IOException; +import java.util.List; + import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -117,23 +119,28 @@ public void testCase1() throws IOException { .getCDAttributeList().size()); assertEquals("attributeA", utility.getAst().getCDDefinition().getCDClassesList().get(2) .getCDAttributeList().get(0).getName()); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(2) - .printSuperclasses()); + + // allow all permutations of the three classes [ClassB, ClassC, ClassD] + // as the actual order depends on the pattern matching + List allowedSuperClassNames = List.of("ClassBClassCClassD", "ClassBClassDClassC", + "ClassCClassBClassD", "ClassCClassDClassB", "ClassDClassBClassC", "ClassDClassCClassB"); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(2).printSuperclasses())); assertEquals("ClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(3) .getCDAttributeList().size()); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(3) - .printSuperclasses()); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(3).printSuperclasses())); assertEquals("ClassD", utility.getAst().getCDDefinition().getCDClassesList().get(4).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(4) .getCDAttributeList().size()); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(4) - .printSuperclasses()); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(4).printSuperclasses())); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(5) - .getName()); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(5).getName())); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); assertEquals("attributeB", utility.getAst().getCDDefinition().getCDClassesList().get(5) diff --git a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java index 7166f6393..8d530578a 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java @@ -13,6 +13,8 @@ import de.monticore.generating.templateengine.reporting.reporter.TransformationReporter; import de.se_rwth.commons.logging.Log; import java.io.IOException; +import java.util.List; + import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -113,23 +115,28 @@ public void testCase1() throws IOException { .getCDAttributeList().size()); assertEquals("attributeA", utility.getAst().getCDDefinition().getCDClassesList().get(2) .getCDAttributeList().get(0).getName()); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(2) - .printSuperclasses()); + + // allow all permutations of the three classes [ClassB, ClassC, ClassD] + // as the actual order depends on the pattern matching + List allowedSuperClassNames = List.of("ClassBClassCClassD", "ClassBClassDClassC", + "ClassCClassBClassD", "ClassCClassDClassB", "ClassDClassBClassC", "ClassDClassCClassB"); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(2).printSuperclasses())); assertEquals("ClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(3) .getCDAttributeList().size()); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(3) - .printSuperclasses()); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(3).printSuperclasses())); assertEquals("ClassD", utility.getAst().getCDDefinition().getCDClassesList().get(4).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(4) .getCDAttributeList().size()); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(4) - .printSuperclasses()); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(4).printSuperclasses())); - assertEquals("ClassDClassCClassB", utility.getAst().getCDDefinition().getCDClassesList().get(5) - .getName()); + assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() + .get(5).getName())); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); assertEquals("attributeB", utility.getAst().getCDDefinition().getCDClassesList().get(5) diff --git a/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java b/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java index 47b355d93..0bbed3d13 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java @@ -13,7 +13,10 @@ import de.monticore.generating.templateengine.reporting.commons.ReportingRepository; import de.monticore.generating.templateengine.reporting.reporter.TransformationReporter; import de.se_rwth.commons.logging.Log; + import java.io.IOException; +import java.util.List; + import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -109,8 +112,14 @@ public void testExtractSuperclasses3ClassesAutoName() throws IOException { assertEquals("ClassB2", utility.getAst().getCDDefinition().getCDClassesList().get(5).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); - assertEquals("ClassA3ClassA2ClassA1", utility.getAst().getCDDefinition().getCDClassesList().get( - 6).getName()); + + // allow all permutations of the three A-class names + // as the actual order depends on the pattern matching + List allowedClassNames = List.of("ClassA1ClassA2ClassA3", "ClassA1ClassA3ClassA2", + "ClassA2ClassA1ClassA3", "ClassA2ClassA3ClassA1", "ClassA3ClassA1ClassA2", + "ClassA3ClassA2ClassA1"); + assertTrue(allowedClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList().get( + 6).getName())); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(6) .getCDAttributeList().size()); assertEquals("attribute1", utility.getAst().getCDDefinition().getCDClassesList().get(6) From c4cb672d803b6f2fce29450fd68946bb52345c34 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Tue, 23 Dec 2025 10:26:57 +0100 Subject: [PATCH 3/4] disable testTrafoOptionalInOrInList once again due to incorrect orders --- .../trafo/constraintModularisationTests/ConstraintTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java b/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java index ce656433e..1f9d5c9ac 100644 --- a/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java +++ b/cdlang/src/test/javatrafo/de/monticore/trafo/constraintModularisationTests/ConstraintTest.java @@ -12,6 +12,7 @@ import java.io.IOException; import java.util.Optional; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** Created by Alexander Wilts on 31.10.2016. */ @@ -383,6 +384,7 @@ public void testTrafoOptionalInOrConstraint() throws IOException { } @Test + @Disabled // TODO: This test fails due to the order of interfaces and classes public void testTrafoOptionalInOrInList() throws IOException { Optional astOpt = CD4CodeMill.parser().parse(DexInfrastructureCD); From 6fb8e23bfe8cf8a981ea3e04fd27989a53f59e1a Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Thu, 15 Jan 2026 15:27:41 +0100 Subject: [PATCH 4/4] refactoring --- .../cdlib/evaluationTests/TestCases.java | 20 +++++++++++-------- .../TestCasesExtractSuperclass.java | 19 ++++++++++-------- .../ExtractIntermediateClassTest.java | 4 ++-- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java index 1539a70bd..bb805800a 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCases.java @@ -124,23 +124,27 @@ public void testCase1() throws IOException { // as the actual order depends on the pattern matching List allowedSuperClassNames = List.of("ClassBClassCClassD", "ClassBClassDClassC", "ClassCClassBClassD", "ClassCClassDClassB", "ClassDClassBClassC", "ClassDClassCClassB"); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(2).printSuperclasses())); + String superclassName2 = utility.getAst().getCDDefinition().getCDClassesList().get(2) + .printSuperclasses(); + assertTrue(allowedSuperClassNames.contains(superclassName2)); assertEquals("ClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(3) .getCDAttributeList().size()); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(3).printSuperclasses())); + + String superclassName3 = utility.getAst().getCDDefinition().getCDClassesList().get(3) + .printSuperclasses(); + assertTrue(allowedSuperClassNames.contains(superclassName3)); assertEquals("ClassD", utility.getAst().getCDDefinition().getCDClassesList().get(4).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(4) .getCDAttributeList().size()); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(4).printSuperclasses())); + String superclassName4 = utility.getAst().getCDDefinition().getCDClassesList().get(4) + .printSuperclasses(); + assertTrue(allowedSuperClassNames.contains(superclassName4)); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(5).getName())); + String className5 = utility.getAst().getCDDefinition().getCDClassesList().get(5).getName(); + assertTrue(allowedSuperClassNames.contains(className5)); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); assertEquals("attributeB", utility.getAst().getCDDefinition().getCDClassesList().get(5) diff --git a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java index 8d530578a..4c39beb58 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/evaluationTests/TestCasesExtractSuperclass.java @@ -120,23 +120,26 @@ public void testCase1() throws IOException { // as the actual order depends on the pattern matching List allowedSuperClassNames = List.of("ClassBClassCClassD", "ClassBClassDClassC", "ClassCClassBClassD", "ClassCClassDClassB", "ClassDClassBClassC", "ClassDClassCClassB"); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(2).printSuperclasses())); + String superclassName2 = utility.getAst().getCDDefinition().getCDClassesList().get(2) + .printSuperclasses(); + assertTrue(allowedSuperClassNames.contains(superclassName2)); assertEquals("ClassC", utility.getAst().getCDDefinition().getCDClassesList().get(3).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(3) .getCDAttributeList().size()); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(3).printSuperclasses())); + String superclassName3 = utility.getAst().getCDDefinition().getCDClassesList().get(3) + .printSuperclasses(); + assertTrue(allowedSuperClassNames.contains(superclassName3)); assertEquals("ClassD", utility.getAst().getCDDefinition().getCDClassesList().get(4).getName()); assertEquals(0, utility.getAst().getCDDefinition().getCDClassesList().get(4) .getCDAttributeList().size()); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(4).printSuperclasses())); + String superclassName4 = utility.getAst().getCDDefinition().getCDClassesList().get(4) + .printSuperclasses(); + assertTrue(allowedSuperClassNames.contains(superclassName4)); - assertTrue(allowedSuperClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList() - .get(5).getName())); + String className5 = utility.getAst().getCDDefinition().getCDClassesList().get(5).getName(); + assertTrue(allowedSuperClassNames.contains(className5)); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(5) .getCDAttributeList().size()); assertEquals("attributeB", utility.getAst().getCDDefinition().getCDClassesList().get(5) diff --git a/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java b/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java index 0bbed3d13..9158df369 100644 --- a/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java +++ b/trafo-library/src/test/java/de/monticore/cdlib/refactoringTests/ExtractIntermediateClassTest.java @@ -118,8 +118,8 @@ public void testExtractSuperclasses3ClassesAutoName() throws IOException { List allowedClassNames = List.of("ClassA1ClassA2ClassA3", "ClassA1ClassA3ClassA2", "ClassA2ClassA1ClassA3", "ClassA2ClassA3ClassA1", "ClassA3ClassA1ClassA2", "ClassA3ClassA2ClassA1"); - assertTrue(allowedClassNames.contains(utility.getAst().getCDDefinition().getCDClassesList().get( - 6).getName())); + String className6 = utility.getAst().getCDDefinition().getCDClassesList().get(6).getName(); + assertTrue(allowedClassNames.contains(className6)); assertEquals(1, utility.getAst().getCDDefinition().getCDClassesList().get(6) .getCDAttributeList().size()); assertEquals("attribute1", utility.getAst().getCDDefinition().getCDClassesList().get(6)