package org.hibernate.tools.test.util;
import java.io.File;
import java.io.FileWriter;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
public class JavaUtilTest {
private static final String FOO_STRING =
"package org.hibernate.tool.test;"+
"public class Foo { "+
" public Bar bar; "+
"} ";
private static final String BAR_STRING =
"package org.hibernate.tool.test;"+
"public class Bar { "+
" public Foo foo; "+
"} ";
@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@Test
public void testCompile() throws Exception {
File testFolder = temporaryFolder.getRoot();
File packageFolder = new File(testFolder, "org/hibernate/tool/test");
packageFolder.mkdirs();
File fooFile = new File(packageFolder, "Foo.java");
FileWriter fileWriter = new FileWriter(fooFile);
fileWriter.write(FOO_STRING);
fileWriter.close();
File barFile = new File(packageFolder, "Bar.java");
fileWriter = new FileWriter(barFile);
fileWriter.write(BAR_STRING);
fileWriter.close();
Assert.assertFalse(new File(packageFolder, "Foo.class").exists());
Assert.assertFalse(new File(packageFolder, "Bar.class").exists());
JavaUtil.compile(testFolder);
Assert.assertTrue(new File(packageFolder, "Foo.class").exists());
Assert.assertTrue(new File(packageFolder, "Bar.class").exists());
}
}