void test_should_have_default_bool_value_when_schdma_include_bool_option_and_no_option_passed() { ArgsParser parser; parser.addBooleanOption('x'); auto_ptr<Args> args(parser.parse(NULL, 0)); CHECK_EQUAL(ArgsParser::DEFAULT_BOOLEAN_VALUE, args->getBooleanValue('x')); }
void test_should_have_default_int_value_when_schdma_include_int_option_and_no_option_passed() { ArgsParser parser; parser.addIntOption('x'); auto_ptr<Args> args(parser.parse(NULL, 0)); CHECK_EQUAL(ArgsParser::DEFAULT_INT_VALUE, args->getIntValue('x')); }
void test_should_return_default_value_when_having_multiple_schema() { ArgsParser parser; parser.addBooleanOption('x'); parser.addBooleanOption('y'); const char * options = "-x"; auto_ptr<Args> args(parser.parse(&options, 1)); CHECK(!args->getBooleanValue('y')); }
void test_should_return_true_when_bool_option_passed() { ArgsParser parser; parser.addBooleanOption('x'); parser.addBooleanOption('y'); const char * options[] = {"-x", "-y"}; auto_ptr<Args> args(parser.parse(options, 2)); CHECK(args->getBooleanValue('x')); CHECK(args->getBooleanValue('y')); }
int main(int argc, char** argv) { try { ArgsParser parser; parser.parse(argc, argv)->execute(); } catch (int error) { //TODO wtf should I catch? return error; } return 0; }
void test_should_have_error_message_when_no_matched_option() { ArgsParser parser; bool errorCatched = false; parser.addBooleanOption('y'); const char * options[] = {"-x", "-y"}; try { parser.parse(options, 2); } catch (ArgsParserExpection *e) { errorCatched = true; STRINGS_EQUAL("no such option: -x", e->errorMessage()); } CHECK(errorCatched); }