예제 #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_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'));
}
예제 #3
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'));
}
예제 #4
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);
}