CopyPopUpPresenter { public void show(Path path, Validator validator, CommandWithFileNameAndCommitMessage command) { this.path = checkNotNull("path", path); this.validator = checkNotNull("validator", validator); this.command = checkNotNull("command", command); view.show(); } @Inject  CopyPopUpPresenter(@Customizable View view,
                              ToggleCommentPresenter toggleCommentPresenter); @PostConstruct void setup(); void show(Path path,
                     Validator validator,
                     CommandWithFileNameAndCommitMessage command); void show(final Path path,
                     final CommandWithFileNameAndCommitMessage copyPopupCommand); void cancel(); View getView(); void copy(String newName); ToggleCommentPresenter getToggleCommentPresenter(); Path getPath();  }
@Test public void testShow() throws Exception { presenter.show(path, validator, command); assertNotNull(presenter.getPath()); assertNotNull(presenter.getValidator()); assertNotNull(presenter.getCommand()); verify(view).show(); }
@Test(expected = IllegalArgumentException.class) public void testShowMissingPath() throws Exception { presenter.show(null, validator, command); }
@Test(expected = IllegalArgumentException.class) public void testShowMissingValidator() throws Exception { presenter.show(path, null, command); }
@Test(expected = IllegalArgumentException.class) public void testShowMissingCommand() throws Exception { presenter.show(path, validator, null); }