### Question:
EngineHeadless extends Engine { public static void start(String name, Version version) { Engine.start(new EngineHeadless(name, version, Constant.EMPTY_STRING)); } EngineHeadless(String name, Version version, String resourcesDir);  EngineHeadless(String name, Version version, Class<?> classResource); static void start(String name, Version version); static void start(String name, Version version, String resourcesDir); static void start(String name, Version version, Class<?> classResource);  }### Answer:
@Test void testDefaultAlready() { EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT); assertThrows(() -> EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT), "The engine has already been started !"); }
@Test void testNullResources() { assertThrows(() -> EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT, (String) null), "Unexpected null argument !"); }
@Test void testResourcesAlready() { EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT, Constant.EMPTY_STRING); assertTrue(Engine.isStarted()); assertThrows(() -> EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT, Constant.EMPTY_STRING), "The engine has already been started !"); }
@Test void testClass() { EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT, EngineHeadlessTest.class); assertTrue(Engine.isStarted()); assertThrows(() -> EngineHeadless.start(EngineHeadlessTest.class.getName(), Version.DEFAULT, EngineHeadlessTest.class), "The engine has already been started !"); }