Пример #1
0
  public void testMethodOption() throws Exception {

    class A {
      @Command
      public void main(@Option(names = "o") String o) {}
    }
    CommandDescriptor<Instance<A>> cmd = CommandFactory.DEFAULT.create(A.class);

    //
    Tester<A> tester = new Tester<A>(cmd, "-o");
    tester.assertOption("o");
    tester.assertEnd(Event.Stop.Done.class, 2);
    tester = new Tester<A>(cmd, "-o a");
    tester.assertOption("o", "a");
    tester.assertEnd(Event.Stop.Done.class, 4);
    tester = new Tester<A>(cmd, "-o a b");
    tester.assertOption("o", "a");
    tester.assertSeparator();
    tester.assertEnd(Event.Stop.Unresolved.TooManyArguments.class, 5);
  }
Пример #2
0
  public void testMethodOptionList() throws Exception {

    class A {
      @Command
      public void main(@Option(names = "o") List<String> o) {}
    }
    CommandDescriptor<Instance<A>> cmd = CommandFactory.DEFAULT.create(A.class);

    //
    Tester<A> tester = new Tester<A>(cmd, "-o");
    tester.assertOption("o");
    tester.assertEnd(Event.Stop.Done.class, 2);
    tester = new Tester<A>(cmd, "-o a");
    tester.assertOption("o", "a");
    tester.assertEnd(Event.Stop.Done.class, 4);
    tester = new Tester<A>(cmd, "-o a -o b");
    tester.assertOption("o", "a");
    tester.assertSeparator();
    tester.assertOption("o", "b");
    tester.assertEnd(Event.Stop.Done.class, 9);
  }
Пример #3
0
  public void testImplicitSubordinateOption() throws Exception {

    class A {
      @Command
      public void main(@Option(names = "o") String o) {}
    }
    CommandDescriptor<Instance<A>> cmd = CommandFactory.DEFAULT.create(A.class);

    //
    Tester<A> tester = new Tester<A>(cmd, "-o foo");
    tester.assertOption("o", "foo");
    tester.assertEnd(Event.Stop.Done.class, 6);
  }