예제 #1
0
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'));
}
예제 #2
0
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'));
}
예제 #3
0
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'));
}
예제 #4
0
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'));
}
예제 #5
0
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;
}
예제 #6
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);
}