1 package org.objectweb.celtix.tools.common; 2 3 4 5 6 public class ToolWrapperGeneratorTest extends ToolTestBase { 7 8 private final ToolWrapperGenerator generator = new ToolWrapperGenerator(ToolDummy.class.getName()); 9 10 11 public void testGeneratorUsingDefaultClassLoader() { 12 ToolWrapperGenerator g = new ToolWrapperGenerator(ToolDummy.class.getName()); 13 assertNotNull(g); 14 } 15 16 17 public void testGeneratorDelegatesToExternalClass() { 18 19 generator.generate(); 20 assertTrue("wrapper generator must delegate to tool class", ToolDummy.mainInvoked); 21 } 22 23 public void testGeneratorPassesAllArgumentsToExternalMain() { 24 String [] expectedArgs = {"-b", "foo", "-keep"}; 25 26 ToolConfig config = new ToolConfig(expectedArgs); 27 28 generator.setConfiguration(config); 29 generator.generate(); 30 31 String [] actualArgs = ToolDummy.getArguments(); 32 33 assertEquals(expectedArgs.length, actualArgs.length); 34 for (int i = 0; i < actualArgs.length; i++) { 35 assertEquals(expectedArgs[i], actualArgs[i]); 36 } 37 } 38 39 40 static final class ToolDummy { 41 42 static boolean mainInvoked; 43 private static String [] arguments; 44 45 private ToolDummy() { 46 } 48 49 public static void main(String [] args) { 50 ToolDummy.arguments = args; 51 mainInvoked = true; 52 } 53 54 public static boolean mainInvoked() { 55 return mainInvoked; 56 } 57 58 public static String [] getArguments() { 59 return arguments; 60 } 61 } 62 63 64 } 65 66 | Popular Tags |