### Question:
ArgumentValidatorImpl implements ArgumentValidator { @Override public OptionCollection finishedProcessing() { validateUnparsedOptions(); validationErrorBuilder.validate(); specification. getMandatoryOptions(). _withoutKeys(mandatoryArguments). _forEach(ParsedOptionSpecification.class). reportMissingTo(validationErrorBuilder); validationErrorBuilder.validate(); return new OptionCollectionImpl(specification, arguments, validatedUnparsedArguments); } ArgumentValidatorImpl(
            final OptionsSpecification<O> specification,
            final ValidationErrorBuilder validationErrorBuilder); @Override void processOption(final String optionName, final List<String> values); @Override void processLastOption(final String optionName, final List<String> values); @Override void processUnparsed(final List<String> values); @Override OptionCollection finishedProcessing();  }### Answer:
@Test @Ignore public void testMissingOption() { context.checking(new Expectations() {{ oneOf(validationErrorBuilder).validate(); oneOf(specification).getMandatoryOptions(); will(returnValue($.asList(option))); oneOf(validationErrorBuilder).missingOption(option); oneOf(validationErrorBuilder).validate(); }}); argumentValidator.finishedProcessing(); }