-
Notifications
You must be signed in to change notification settings - Fork 422
/
Issue1537Ambiguous.java
44 lines (34 loc) · 1.2 KB
/
Issue1537Ambiguous.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package picocli;
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.SystemErrRule;
import picocli.CommandLine.Command;
import static org.junit.Assert.*;
public class Issue1537Ambiguous {
@Rule
public SystemErrRule systemErrRule = new SystemErrRule().enableLog().muteForSuccessfulTests();
@Command
static class MyCommand implements Runnable {
@Command(name = "chemical-files", aliases = "chem-formats")
void sub() {}
public void run() {}
}
@Test
public void testExecute() {
int exitCode = new CommandLine(new MyCommand()).execute("chem");
assertEquals(2, exitCode);
String expected = String.format(
"Unmatched argument at index 0: 'chem'%n" +
"Did you mean: chem-formats or chemical-files?%n");
assertEquals(expected, systemErrRule.getLog());
}
@Test
public void testParseArgs() {
try {
new CommandLine(new MyCommand()).parseArgs("chem");
fail("expected exception");
} catch (CommandLine.UnmatchedArgumentException ex) {
assertEquals("Unmatched argument at index 0: 'chem'", ex.getMessage());
}
}
}