@Test
public void testCreateClass() throws Exception
{
Project project = projectFactory.createTempProject();
facetFactory.install(project, JavaSourceFacet.class);
CommandController controller = getInitializedController(JavaClassCommand.class, project.getRoot());
Assert.assertTrue(controller.isValid());
Assert.assertTrue(controller.canExecute());
Result result = controller.execute();
Assert.assertThat(result, is(not(instanceOf(Failed.class))));
JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);
JavaResource javaResource = facet.getJavaResource("org.jboss.forge.test.CreditCardType");
Assert.assertNotNull(javaResource);
Assert.assertThat(javaResource.getJavaType(), is(instanceOf(JavaClass.class)));
// overwriting the class file
controller = getInitializedController(JavaClassCommand.class, project.getRoot());
Assert.assertFalse(controller.isValid());
controller.setValueFor("overwrite", "true");
Assert.assertTrue(controller.isValid());
result = controller.execute();
Assert.assertThat(result, is(not(instanceOf(Failed.class))));
}