Search in sources :

Example 1 with Parent

use of com.github.havardh.javaflow.ast.Parent in project javaflow by havardh.

the class InheritanceTransformerTest method shouldResolveNameConflictsWithPackageName.

@Test
public void shouldResolveNameConflictsWithPackageName() {
    Class parentA = ClassBuilder.classBuilder().withName("Parent").withPackageName("com.github.havardh.a").build();
    Class parentB = ClassBuilder.classBuilder().withName("Parent").withPackageName("com.github.havardh.b").build();
    Class child = ClassBuilder.classBuilder().withName("Child").withParent(new Parent(CanonicalName.object("com.github.havardh.a", "Parent"))).build();
    transformer.transform(asList(parentA, parentB, child));
    assertThat(child.getParent().get().getReference(), is(parentA));
}
Also used : Parent(com.github.havardh.javaflow.ast.Parent) Class(com.github.havardh.javaflow.ast.Class) Test(org.junit.jupiter.api.Test)

Example 2 with Parent

use of com.github.havardh.javaflow.ast.Parent in project javaflow by havardh.

the class InheritanceTransformerTest method shouldLinkClassesWithParentOnMatchingName.

@Test
public void shouldLinkClassesWithParentOnMatchingName() {
    Class parent = ClassBuilder.classBuilder().withName("Parent").withPackageName("com.github.havardh.a").build();
    Class child = ClassBuilder.classBuilder().withName("Child").withParent(new Parent(CanonicalName.object("com.github.havardh.a", "Parent"))).build();
    transformer.transform(asList(parent, child));
    assertThat(child.getParent().get().getReference(), is(parent));
}
Also used : Parent(com.github.havardh.javaflow.ast.Parent) Class(com.github.havardh.javaflow.ast.Class) Test(org.junit.jupiter.api.Test)

Aggregations

Class (com.github.havardh.javaflow.ast.Class)2 Parent (com.github.havardh.javaflow.ast.Parent)2 Test (org.junit.jupiter.api.Test)2