/*******************************************************************************
* Copyright (c) 2006-2014
* Software Technology Group, Dresden University of Technology
* DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Software Technology Group - TU Dresden, Germany;
* DevBoost GmbH - Berlin, Germany
* - initial API and implementation
******************************************************************************/
package org.emftext.language.java.test.bugs;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.emftext.language.java.JavaUniquePathConstructor;
import org.emftext.language.java.classifiers.ClassifiersFactory;
import org.emftext.language.java.containers.CompilationUnit;
import org.emftext.language.java.containers.ContainersFactory;
import org.junit.Test;
public class Bug1819Test extends AbstractTestCase {
private final static String LINE_BREAK = System.getProperty("line.separator");
public Bug1819Test() {
super();
}
@Test
public void testDefaultPackage() throws IOException {
String className = "TestName";
ResourceSet rs = createResourceSet();
Resource r = rs.createResource(JavaUniquePathConstructor.getJavaFileResourceURI(className));
CompilationUnit cu = ContainersFactory.eINSTANCE.createCompilationUnit();
org.emftext.language.java.classifiers.Class clazz = ClassifiersFactory.eINSTANCE.createClass();
clazz.setName(className);
cu.getClassifiers().add(clazz);
r.getContents().add(cu);
ByteArrayOutputStream os = new ByteArrayOutputStream();
r.save(os , null);
String result = new String(os.toByteArray()).trim();
assertEquals("class " + className + " {" + LINE_BREAK + "}", result);
}
@Test
public void testMissingDeclaredPackage() throws IOException {
String className = "TestName";
String packageName = "a.b.c";
ResourceSet rs = createResourceSet();
Resource resource = rs.createResource(JavaUniquePathConstructor.getJavaFileResourceURI(packageName + "." + className));
CompilationUnit cu = ContainersFactory.eINSTANCE.createCompilationUnit();
org.emftext.language.java.classifiers.Class clazz = ClassifiersFactory.eINSTANCE.createClass();
clazz.setName(className);
cu.getClassifiers().add(clazz);
resource.getContents().add(cu);
ByteArrayOutputStream os = new ByteArrayOutputStream();
resource.save(os , null);
String result = new String(os.toByteArray()).trim();
assertEquals("package " + packageName + ";" + LINE_BREAK + LINE_BREAK
+ LINE_BREAK + "class " + className + " {" + LINE_BREAK + "}",
result);
}
}