@Test
void execute() throws CommandSyntaxException {

    doReturn(true).when(command).testPermission(sender);
    var captor = ArgumentCaptor.forClass(StringReader.class);
    
    assertTrue(command.execute(sender, "command", "a", "b"));
    verify(dispatcher).execute(captor.capture(), eq(sender));
    
    var reader = captor.getValue();
    
    assertEquals("/command a b", reader.getString());
    assertEquals("command a b", reader.getRemaining());
}