### Question:
ProdigyCommand implements Command { @Override public Usage usage() { Usage usage = new Usage("prodigy [options] [command] [parameters]"); usage.option("v", "verbose", false, "turn on debug logging"); usage.option(null, "config", false, "specify configuration file", "path"); return usage; } ProdigyCommand(Shell shell); @Override String name(); @Override Usage usage(); @Override void run(Line line); Shell shell();  }### Answer:
@Test public void testUsage() { ProdigyCommand command = new ProdigyCommand(new Shell()); Usage usage = command.usage(); assertThat(usage.synopsis(), is("prodigy [options] [command] [parameters]")); assertThat(usage.options().size(), is(2)); }