use of spoon.support.reflect.cu.position.PartialSourcePositionImpl in project spoon by INRIA.
the class TestCompilationUnit method testNewlyCreatedCUWouldGetAPartialPosition.
@Test
public void testNewlyCreatedCUWouldGetAPartialPosition() throws IOException {
// contract: when a type is created, a CU can be created and added as partial position
final Launcher launcher = new Launcher();
assertTrue(launcher.getFactory().CompilationUnit().getMap().isEmpty());
CtClass myNewClass = launcher.getFactory().createClass("my.new.MyClass");
assertEquals(SourcePosition.NOPOSITION, myNewClass.getPosition());
CompilationUnit cu = launcher.getFactory().CompilationUnit().getOrCreate(myNewClass);
assertNotNull(cu);
assertSame(cu, launcher.getFactory().CompilationUnit().getOrCreate(myNewClass));
SourcePosition sourcePosition = myNewClass.getPosition();
assertTrue(sourcePosition instanceof PartialSourcePositionImpl);
assertSame(cu, sourcePosition.getCompilationUnit());
File f = new File(Launcher.OUTPUTDIR, "my/new/MyClass.java");
assertEquals(f.getCanonicalFile(), cu.getFile());
}
Aggregations