match = matcher.arguments(arguments != null ? arguments : Collections.emptyList());
public <C> void assertPreserveHelp(Class<C> clazz, C instance, String option) throws Exception { CommandDescriptor<Instance<C>> desc = HelpDescriptor.create(CommandFactory.DEFAULT.create(clazz)); InvocationMatcher<Instance<C>> matcher = desc.matcher(); InvocationMatch<Instance<C>> match = matcher.options(Collections.<String, List<?>>singletonMap(option, Collections.singletonList(Boolean.TRUE))).arguments(Collections.emptyList()); CommandInvoker<Instance<C>, ?> invoker = match.getInvoker(); Object ret = invoker.invoke(Util.wrap(instance)); assertEquals("my help " + true, ret); }
public <C> void assertPreserveHelpInSubCommand1(Class<C> clazz, C instance, String option) throws Exception { CommandDescriptor<Instance<C>> desc = HelpDescriptor.create(CommandFactory.DEFAULT.create(clazz)); InvocationMatcher<Instance<C>> matcher = desc.matcher(); InvocationMatch<Instance<C>> match = matcher. subordinate("sub"). options(Collections.<String, List<?>>singletonMap(option, Collections.singletonList(Boolean.TRUE))).arguments(Collections.emptyList()); CommandInvoker<Instance<C>, ?> invoker = match.getInvoker(); Object ret = invoker.invoke(Util.wrap(instance)); assertEquals("my help " + true, ret); }
public <C> void assertPreserveHelpInSubCommand2(Class<C> clazz, C instance, String option) throws Exception { CommandDescriptor<Instance<C>> desc = HelpDescriptor.create(CommandFactory.DEFAULT.create(clazz)); InvocationMatcher<Instance<C>> matcher = desc.matcher(); InvocationMatch<Instance<C>> match = matcher. options(Collections.<String, List<?>>singletonMap(option, Collections.singletonList(Boolean.TRUE))).arguments(Collections.emptyList()). subordinate("sub"); CommandInvoker<Instance<C>, ?> invoker = match.getInvoker(); Object ret = invoker.invoke(Util.wrap(instance)); assertEquals("my help " + true, ret); } }
public void testFoo() throws Exception { CommandDescriptor<Instance<A>> desc = HelpDescriptor.create(CommandFactory.DEFAULT.create(A.class)); InvocationMatcher<Instance<A>> matcher = desc.matcher(); InvocationMatch<Instance<A>> match = matcher.options(Collections.<String, List<?>>singletonMap("h", Collections.singletonList(Boolean.TRUE))).arguments(Collections.emptyList()); CommandInvoker<Instance<A>, ?> invoker = match.getInvoker(); Object ret = invoker.invoke(Util.wrap(new A())); assertTrue(ret instanceof Help); assertEquals(Help.class, invoker.getReturnType()); }
public void testBooleanParameter() throws Exception { class A implements Runnable { @Option(names = "o") boolean o; public void run() {} } CommandDescriptor<Instance<A>> desc = CommandFactory.DEFAULT.create(A.class); InvocationMatcher<Instance<A>> analyzer = desc.matcher(); // A a = new A(); analyzer.parse("-o").invoke(Util.wrap(a)); assertEquals(true, a.o); a = new A(); analyzer.option("o", Collections.singletonList(true)).arguments(Collections.emptyList()).invoke(Util.wrap(a)); assertEquals(true, a.o); }
public void testOptionList() throws Exception { CommandDescriptor<Instance<F>> desc = CommandFactory.DEFAULT.create(F.class); // F f = new F(); desc.matcher().parse("foo -o a").invoke(Util.wrap(f)); assertEquals(Arrays.asList("a"), f.s); f = new F(); desc.matcher().subordinate("foo").option("o", Collections.singletonList("a")).arguments(Collections.emptyList()).invoke(Util.wrap(f)); assertEquals(Arrays.asList("a"), f.s); // f = new F(); desc.matcher().parse("foo -o a -o b").invoke(Util.wrap(f)); assertEquals(Arrays.asList("a", "b"), f.s); f = new F(); desc.matcher().subordinate("foo").option("o", Arrays.asList("a", "b")).arguments(Collections.emptyList()).invoke(Util.wrap(f)); assertEquals(Arrays.asList("a", "b"), f.s); }
public void testImplicitSubordinateOption() throws Exception { CommandDescriptor<Instance<M>> desc = CommandFactory.DEFAULT.create(M.class); M m = new M(); desc.matcher().parse("-o foo").invoke(Util.wrap(m)); assertEquals("foo", m.opt); m = new M(); desc.matcher().option("o", Collections.singletonList("foo")).arguments(Collections.emptyList()).invoke(Util.wrap(m)); assertEquals("foo", m.opt); }
public void testSpecifyClassOptionAfterSubordinate() throws Exception { CommandDescriptor<Instance<K>> desc = CommandFactory.DEFAULT.create(K.class); K k = new K(); desc.matcher().parse("cmd -o foo").invoke(Util.wrap(k)); assertEquals(null, k.opt); k = new K(); desc.matcher().subordinate("cmd").option("o", Collections.singletonList("foo")).arguments(Collections.emptyList()).invoke(Util.wrap(k)); assertEquals(null, k.opt); }
public void testValue() throws Exception { // CommandDescriptor<Instance<G>> desc = new CommandFactory(MatcherTestCase.class.getClassLoader()).create(G.class); // G g = new G(); desc.matcher().parse("foo -o a").invoke(Util.wrap(g)); assertEquals(new Custom("a"), g.o); g = new G(); desc.matcher().subordinate("foo").option("o", Collections.singletonList("a")).arguments(Collections.emptyList()).invoke(Util.wrap(g)); assertEquals(new Custom("a"), g.o); }
public void testSpecifyClassOptionBeforeSubordinate() throws Exception { CommandDescriptor<Instance<K>> desc = CommandFactory.DEFAULT.create(K.class); K k = new K(); desc.matcher().parse("-o foo cmd").invoke(Util.wrap(k)); assertEquals("foo", k.opt); k = new K(); desc.matcher().option("o", Collections.singletonList("foo")).subordinate("cmd").arguments(Collections.emptyList()).invoke(Util.wrap(k)); assertEquals("foo", k.opt); }
public void testSpecifySubordinateOptionBeforeSubordinate() throws Exception { CommandDescriptor<Instance<L>> desc = CommandFactory.DEFAULT.create(L.class); L l = new L(); desc.matcher().parse("-o foo cmd").invoke(Util.wrap(l)); assertEquals(null, l.opt); l = new L(); desc.matcher().option("o", Collections.singletonList("foo")).subordinate("cmd").arguments(Collections.emptyList()).invoke(Util.wrap(l)); assertEquals(null, l.opt); }
public void testSpecifySubordinateOptionAfterSubordinate() throws Exception { CommandDescriptor<Instance<L>> desc = CommandFactory.DEFAULT.create(L.class); L l = new L(); desc.matcher().parse("cmd -o foo").invoke(Util.wrap(l)); assertEquals("foo", l.opt); l = new L(); desc.matcher().subordinate("cmd").option("o", Collections.singletonList("foo")).arguments(Collections.emptyList()).invoke(Util.wrap(l)); assertEquals("foo", l.opt); }
public void testMainMethodInvocation() throws Exception { CommandDescriptor<Instance<B>> desc = CommandFactory.DEFAULT.create(B.class); // B b = new B(); desc.matcher().parse("").invoke(Util.wrap(b)); assertEquals(1, b.count); b = new B(); desc.matcher().arguments(Collections.emptyList()).invoke(Util.wrap(b)); assertEquals(1, b.count); }
assertEquals("portal:collaboration:/Documents", scp.target); scp = new SCP(); matcher.option("t", Collections.singletonList(true)).arguments(Collections.singletonList("portal:collaboration:/Documents")).invoke(Util.wrap(scp)); assertEquals(true, scp.t); assertEquals("portal:collaboration:/Documents", scp.target); matcher.option("t", Collections.singletonList(true)).arguments(Collections.emptyList()).invoke(Util.wrap(scp)); fail(); } catch (CLIException e) {
match = matcher.arguments(arguments != null ? arguments : Collections.emptyList());
match = matcher.arguments(arguments != null ? arguments : Collections.emptyList());