added tests for allowed

This commit is contained in:
mes5k 2004-07-04 02:29:45 +00:00
parent 3e5c23a91e
commit d017b12ca4
3 changed files with 103 additions and 1 deletions

View File

@ -1,17 +1,21 @@
noinst_PROGRAMS = test1 test2 test3 test4 test5
noinst_PROGRAMS = test1 test2 test3 test4 test5 test6 test7
test1_SOURCES = test1.cpp
test2_SOURCES = test2.cpp
test3_SOURCES = test3.cpp
test4_SOURCES = test4.cpp
test5_SOURCES = test5.cpp
test6_SOURCES = test6.cpp
test7_SOURCES = test7.cpp
test1_LDADD = $(top_builddir)/src/libtclap.a
test2_LDADD = $(top_builddir)/src/libtclap.a
test3_LDADD = $(top_builddir)/src/libtclap.a
test4_LDADD = $(top_builddir)/src/libtclap.a
test5_LDADD = $(top_builddir)/src/libtclap.a
test6_LDADD = $(top_builddir)/src/libtclap.a
test7_LDADD = $(top_builddir)/src/libtclap.a
INCLUDES = -I$(top_builddir)/include

47
examples/test6.cpp Normal file
View File

@ -0,0 +1,47 @@
#include <string>
#include <tclap/CmdLine.h>
using namespace TCLAP;
int main(int argc, char** argv)
{
// Wrap everything in a try block. Do this every time,
// because exceptions will be thrown for problems.
try {
// Define the command line object.
CmdLine cmd("Command description message", ' ', "0.9");
vector<string> allowed;
allowed.push_back("homer");
allowed.push_back("marge");
allowed.push_back("bart");
allowed.push_back("lisa");
allowed.push_back("maggie");
ValueArg<string> nameArg("n","name","Name to print",true,"homer",allowed);
cmd.add( nameArg );
vector<int> iallowed;
iallowed.push_back(1);
iallowed.push_back(2);
iallowed.push_back(3);
UnlabeledValueArg<int> intArg("times","Number of times to print",1,
iallowed,false);
cmd.add( intArg );
// Parse the args.
cmd.parse( argc, argv );
// Get the value parsed by each arg.
int num = intArg.getValue();
string name = nameArg.getValue();
for ( int i = 0; i < num; i++ )
cout << "My name is " << name << endl;
} catch (ArgException e) // catch any exceptions
{ cerr << "error: " << e.error() << " for arg " << e.argId() << endl; }
}

51
examples/test7.cpp Normal file
View File

@ -0,0 +1,51 @@
#include <string>
#include <tclap/CmdLine.h>
using namespace TCLAP;
int main(int argc, char** argv)
{
// Wrap everything in a try block. Do this every time,
// because exceptions will be thrown for problems.
try {
// Define the command line object.
CmdLine cmd("Command description message", ' ', "0.9");
vector<string> allowed;
allowed.push_back("homer");
allowed.push_back("marge");
allowed.push_back("bart");
allowed.push_back("lisa");
allowed.push_back("maggie");
MultiArg<string> nameArg("n","name","Name to print",true,allowed);
cmd.add( nameArg );
vector<int> iallowed;
iallowed.push_back(1);
iallowed.push_back(2);
iallowed.push_back(3);
UnlabeledMultiArg<int> intArg("times","Number of times to print",iallowed);
cmd.add( intArg );
// Parse the args.
cmd.parse( argc, argv );
// Get the value parsed by each arg.
vector<int> num = intArg.getValue();
for ( unsigned int i = 0; i < num.size(); i++ )
cout << "Got num " << num[i] << endl;
vector<string> name = nameArg.getValue();
for ( unsigned int i = 0; i < name.size(); i++ )
cout << "Got name " << name[i] << endl;
} catch (ArgException e) // catch any exceptions
{ cerr << "error: " << e.error() << " for arg " << e.argId() << endl; }
}