wibble 0.1.28
core.test.h
Go to the documentation of this file.
00001 /* -*- C++ -*- (c) 2007 Petr Rockai <me@mornfall.net>
00002                (c) 2007 Enrico Zini <enrico@enricozini.org> */
00003 
00004 #include <wibble/commandline/core.h>
00005 
00006 #include <wibble/test.h>
00007 
00008 using namespace wibble::commandline;
00009 
00010 struct TestCommandlineCore {
00011 
00012     Test isSwitch() {
00013         assert_eq(ArgList::isSwitch("-a"), true);
00014         assert_eq(ArgList::isSwitch("-afdg"), true);
00015         assert_eq(ArgList::isSwitch("--antani"), true);
00016         assert_eq(ArgList::isSwitch("--antani-blinda"), true);
00017         assert_eq(ArgList::isSwitch("-"), false);
00018         assert_eq(ArgList::isSwitch("--"), false);
00019         assert_eq(ArgList::isSwitch("antani"), false);
00020         assert_eq(ArgList::isSwitch("a-ntani"), false);
00021         assert_eq(ArgList::isSwitch("a--ntani"), false);
00022     }
00023 
00024     Test eraseAndAdvance()
00025     {
00026         ArgList list;
00027         list.push_back("1");
00028         list.push_back("2");
00029         list.push_back("3");
00030      
00031         ArgList::iterator begin = list.begin();
00032         assert_eq(list.size(), 3u);
00033      
00034         list.eraseAndAdvance(begin);
00035         assert(begin == list.begin());
00036         assert_eq(list.size(), 2u);
00037      
00038         list.eraseAndAdvance(begin);
00039         assert(begin == list.begin());
00040         assert_eq(list.size(), 1u);
00041      
00042         list.eraseAndAdvance(begin);
00043         assert(begin == list.begin());
00044         assert_eq(list.size(), 0u);
00045         assert(begin == list.end());
00046     }
00047 
00048 };
00049 
00050 // vim:set ts=4 sw=4: