diff --git a/alib2/test-src/regexp/RegExpTest.cpp b/alib2/test-src/regexp/RegExpTest.cpp index 62f44971d6304d779069627d88dbc34674a0bb0c..1bcdf9cd82eaae4a243d767bf4e419573fc6e088 100644 --- a/alib2/test-src/regexp/RegExpTest.cpp +++ b/alib2/test-src/regexp/RegExpTest.cpp @@ -10,6 +10,8 @@ #include "regexp/RegExpFromXMLParser.h" #include "regexp/RegExpToXMLComposer.h" +#define CPPUNIT_IMPLY(x, y) CPPUNIT_ASSERT(!(x) || (y)) + CPPUNIT_TEST_SUITE_REGISTRATION( RegExpTest ); void RegExpTest::setUp() { @@ -64,4 +66,441 @@ void RegExpTest::testXMLParser() { CPPUNIT_ASSERT( regexp == regexp2 ); +} + +void RegExpTest::testOrder() { + regexp::RegExpSymbol s1("1"); + regexp::RegExpEmpty e1; + regexp::RegExpEpsilon e2; + regexp::Iteration i1(s1); + + regexp::RegExp alt1(regexp::Alternation(s1, s1)); + regexp::RegExp con1(regexp::Concatenation (s1, s1)); + regexp::RegExp ite1(i1); + regexp::RegExp emp1(e1); + regexp::RegExp eps1(e2); + regexp::RegExp sym1(s1); + + CPPUNIT_IMPLY( alt1 < con1 && con1 < ite1, alt1 < ite1 ); + CPPUNIT_IMPLY( alt1 < con1 && con1 < emp1, alt1 < emp1 ); + CPPUNIT_IMPLY( alt1 < con1 && con1 < eps1, alt1 < eps1 ); + CPPUNIT_IMPLY( alt1 < con1 && con1 < sym1, alt1 < sym1 ); + + CPPUNIT_IMPLY( alt1 < ite1 && ite1 < con1, alt1 < con1 ); + CPPUNIT_IMPLY( alt1 < ite1 && ite1 < emp1, alt1 < emp1 ); + CPPUNIT_IMPLY( alt1 < ite1 && ite1 < eps1, alt1 < eps1 ); + CPPUNIT_IMPLY( alt1 < ite1 && ite1 < sym1, alt1 < sym1 ); + + CPPUNIT_IMPLY( alt1 < emp1 && emp1 < con1, alt1 < con1 ); + CPPUNIT_IMPLY( alt1 < emp1 && emp1 < ite1, alt1 < ite1 ); + CPPUNIT_IMPLY( alt1 < emp1 && emp1 < eps1, alt1 < eps1 ); + CPPUNIT_IMPLY( alt1 < emp1 && emp1 < sym1, alt1 < sym1 ); + + CPPUNIT_IMPLY( alt1 < eps1 && eps1 < con1, alt1 < con1 ); + CPPUNIT_IMPLY( alt1 < eps1 && eps1 < ite1, alt1 < ite1 ); + CPPUNIT_IMPLY( alt1 < eps1 && eps1 < emp1, alt1 < emp1 ); + CPPUNIT_IMPLY( alt1 < eps1 && eps1 < sym1, alt1 < sym1 ); + + CPPUNIT_IMPLY( alt1 < sym1 && sym1 < con1, alt1 < con1 ); + CPPUNIT_IMPLY( alt1 < sym1 && sym1 < ite1, alt1 < ite1 ); + CPPUNIT_IMPLY( alt1 < sym1 && sym1 < emp1, alt1 < emp1 ); + CPPUNIT_IMPLY( alt1 < sym1 && sym1 < eps1, alt1 < eps1 ); + + + + CPPUNIT_IMPLY( con1 < alt1 && alt1 < ite1, con1 < ite1 ); + CPPUNIT_IMPLY( con1 < alt1 && alt1 < emp1, con1 < emp1 ); + CPPUNIT_IMPLY( con1 < alt1 && alt1 < eps1, con1 < eps1 ); + CPPUNIT_IMPLY( con1 < alt1 && alt1 < sym1, con1 < sym1 ); + + CPPUNIT_IMPLY( con1 < ite1 && ite1 < alt1, con1 < alt1 ); + CPPUNIT_IMPLY( con1 < ite1 && ite1 < emp1, con1 < emp1 ); + CPPUNIT_IMPLY( con1 < ite1 && ite1 < eps1, con1 < eps1 ); + CPPUNIT_IMPLY( con1 < ite1 && ite1 < sym1, con1 < sym1 ); + + CPPUNIT_IMPLY( con1 < emp1 && emp1 < alt1, con1 < alt1 ); + CPPUNIT_IMPLY( con1 < emp1 && emp1 < ite1, con1 < ite1 ); + CPPUNIT_IMPLY( con1 < emp1 && emp1 < eps1, con1 < eps1 ); + CPPUNIT_IMPLY( con1 < emp1 && emp1 < sym1, con1 < sym1 ); + + CPPUNIT_IMPLY( con1 < eps1 && eps1 < alt1, con1 < alt1 ); + CPPUNIT_IMPLY( con1 < eps1 && eps1 < ite1, con1 < ite1 ); + CPPUNIT_IMPLY( con1 < eps1 && eps1 < emp1, con1 < emp1 ); + CPPUNIT_IMPLY( con1 < eps1 && eps1 < sym1, con1 < sym1 ); + + CPPUNIT_IMPLY( con1 < sym1 && sym1 < alt1, con1 < alt1 ); + CPPUNIT_IMPLY( con1 < sym1 && sym1 < ite1, con1 < ite1 ); + CPPUNIT_IMPLY( con1 < sym1 && sym1 < emp1, con1 < emp1 ); + CPPUNIT_IMPLY( con1 < sym1 && sym1 < eps1, con1 < eps1 ); + + + + CPPUNIT_IMPLY( ite1 < alt1 && alt1 < con1, ite1 < con1 ); + CPPUNIT_IMPLY( ite1 < alt1 && alt1 < emp1, ite1 < emp1 ); + CPPUNIT_IMPLY( ite1 < alt1 && alt1 < eps1, ite1 < eps1 ); + CPPUNIT_IMPLY( ite1 < alt1 && alt1 < sym1, ite1 < sym1 ); + + CPPUNIT_IMPLY( ite1 < con1 && con1 < alt1, ite1 < alt1 ); + CPPUNIT_IMPLY( ite1 < con1 && con1 < emp1, ite1 < emp1 ); + CPPUNIT_IMPLY( ite1 < con1 && con1 < eps1, ite1 < eps1 ); + CPPUNIT_IMPLY( ite1 < con1 && con1 < sym1, ite1 < sym1 ); + + CPPUNIT_IMPLY( ite1 < emp1 && emp1 < alt1, ite1 < alt1 ); + CPPUNIT_IMPLY( ite1 < emp1 && emp1 < con1, ite1 < con1 ); + CPPUNIT_IMPLY( ite1 < emp1 && emp1 < eps1, ite1 < eps1 ); + CPPUNIT_IMPLY( ite1 < emp1 && emp1 < sym1, ite1 < sym1 ); + + CPPUNIT_IMPLY( ite1 < eps1 && eps1 < alt1, ite1 < alt1 ); + CPPUNIT_IMPLY( ite1 < eps1 && eps1 < con1, ite1 < con1 ); + CPPUNIT_IMPLY( ite1 < eps1 && eps1 < emp1, ite1 < emp1 ); + CPPUNIT_IMPLY( ite1 < eps1 && eps1 < sym1, ite1 < sym1 ); + + CPPUNIT_IMPLY( ite1 < sym1 && sym1 < alt1, ite1 < alt1 ); + CPPUNIT_IMPLY( ite1 < sym1 && sym1 < con1, ite1 < con1 ); + CPPUNIT_IMPLY( ite1 < sym1 && sym1 < emp1, ite1 < emp1 ); + CPPUNIT_IMPLY( ite1 < sym1 && sym1 < eps1, ite1 < eps1 ); + + + + CPPUNIT_IMPLY( emp1 < alt1 && alt1 < con1, emp1 < con1 ); + CPPUNIT_IMPLY( emp1 < alt1 && alt1 < ite1, emp1 < ite1 ); + CPPUNIT_IMPLY( emp1 < alt1 && alt1 < eps1, emp1 < eps1 ); + CPPUNIT_IMPLY( emp1 < alt1 && alt1 < sym1, emp1 < sym1 ); + + CPPUNIT_IMPLY( emp1 < con1 && con1 < alt1, emp1 < alt1 ); + CPPUNIT_IMPLY( emp1 < con1 && con1 < ite1, emp1 < ite1 ); + CPPUNIT_IMPLY( emp1 < con1 && con1 < eps1, emp1 < eps1 ); + CPPUNIT_IMPLY( emp1 < con1 && con1 < sym1, emp1 < sym1 ); + + CPPUNIT_IMPLY( emp1 < ite1 && ite1 < alt1, emp1 < alt1 ); + CPPUNIT_IMPLY( emp1 < ite1 && ite1 < con1, emp1 < con1 ); + CPPUNIT_IMPLY( emp1 < ite1 && ite1 < eps1, emp1 < eps1 ); + CPPUNIT_IMPLY( emp1 < ite1 && ite1 < sym1, emp1 < sym1 ); + + CPPUNIT_IMPLY( emp1 < eps1 && eps1 < alt1, emp1 < alt1 ); + CPPUNIT_IMPLY( emp1 < eps1 && eps1 < con1, emp1 < con1 ); + CPPUNIT_IMPLY( emp1 < eps1 && eps1 < ite1, emp1 < ite1 ); + CPPUNIT_IMPLY( emp1 < eps1 && eps1 < sym1, emp1 < sym1 ); + + CPPUNIT_IMPLY( emp1 < sym1 && sym1 < alt1, emp1 < alt1 ); + CPPUNIT_IMPLY( emp1 < sym1 && sym1 < con1, emp1 < con1 ); + CPPUNIT_IMPLY( emp1 < sym1 && sym1 < ite1, emp1 < ite1 ); + CPPUNIT_IMPLY( emp1 < sym1 && sym1 < eps1, emp1 < eps1 ); + + + + CPPUNIT_IMPLY( eps1 < alt1 && alt1 < con1, eps1 < con1 ); + CPPUNIT_IMPLY( eps1 < alt1 && alt1 < ite1, eps1 < ite1 ); + CPPUNIT_IMPLY( eps1 < alt1 && alt1 < emp1, eps1 < emp1 ); + CPPUNIT_IMPLY( eps1 < alt1 && alt1 < sym1, eps1 < sym1 ); + + CPPUNIT_IMPLY( eps1 < con1 && con1 < alt1, eps1 < alt1 ); + CPPUNIT_IMPLY( eps1 < con1 && con1 < ite1, eps1 < ite1 ); + CPPUNIT_IMPLY( eps1 < con1 && con1 < emp1, eps1 < emp1 ); + CPPUNIT_IMPLY( eps1 < con1 && con1 < sym1, eps1 < sym1 ); + + CPPUNIT_IMPLY( eps1 < ite1 && ite1 < alt1, eps1 < alt1 ); + CPPUNIT_IMPLY( eps1 < ite1 && ite1 < con1, eps1 < con1 ); + CPPUNIT_IMPLY( eps1 < ite1 && ite1 < emp1, eps1 < emp1 ); + CPPUNIT_IMPLY( eps1 < ite1 && ite1 < sym1, eps1 < sym1 ); + + CPPUNIT_IMPLY( eps1 < emp1 && emp1 < alt1, eps1 < alt1 ); + CPPUNIT_IMPLY( eps1 < emp1 && emp1 < con1, eps1 < con1 ); + CPPUNIT_IMPLY( eps1 < emp1 && emp1 < ite1, eps1 < ite1 ); + CPPUNIT_IMPLY( eps1 < emp1 && emp1 < sym1, eps1 < sym1 ); + + CPPUNIT_IMPLY( eps1 < sym1 && sym1 < alt1, eps1 < alt1 ); + CPPUNIT_IMPLY( eps1 < sym1 && sym1 < con1, eps1 < con1 ); + CPPUNIT_IMPLY( eps1 < sym1 && sym1 < ite1, eps1 < ite1 ); + CPPUNIT_IMPLY( eps1 < sym1 && sym1 < emp1, eps1 < emp1 ); + + + + CPPUNIT_IMPLY( sym1 < alt1 && alt1 < con1, sym1 < con1 ); + CPPUNIT_IMPLY( sym1 < alt1 && alt1 < ite1, sym1 < ite1 ); + CPPUNIT_IMPLY( sym1 < alt1 && alt1 < emp1, sym1 < emp1 ); + CPPUNIT_IMPLY( sym1 < alt1 && alt1 < eps1, sym1 < eps1 ); + + CPPUNIT_IMPLY( sym1 < con1 && con1 < alt1, sym1 < alt1 ); + CPPUNIT_IMPLY( sym1 < con1 && con1 < ite1, sym1 < ite1 ); + CPPUNIT_IMPLY( sym1 < con1 && con1 < emp1, sym1 < emp1 ); + CPPUNIT_IMPLY( sym1 < con1 && con1 < eps1, sym1 < eps1 ); + + CPPUNIT_IMPLY( sym1 < ite1 && ite1 < alt1, sym1 < alt1 ); + CPPUNIT_IMPLY( sym1 < ite1 && ite1 < con1, sym1 < con1 ); + CPPUNIT_IMPLY( sym1 < ite1 && ite1 < emp1, sym1 < emp1 ); + CPPUNIT_IMPLY( sym1 < ite1 && ite1 < eps1, sym1 < eps1 ); + + CPPUNIT_IMPLY( sym1 < emp1 && emp1 < alt1, sym1 < alt1 ); + CPPUNIT_IMPLY( sym1 < emp1 && emp1 < con1, sym1 < con1 ); + CPPUNIT_IMPLY( sym1 < emp1 && emp1 < ite1, sym1 < ite1 ); + CPPUNIT_IMPLY( sym1 < emp1 && emp1 < eps1, sym1 < eps1 ); + + CPPUNIT_IMPLY( sym1 < eps1 && eps1 < alt1, sym1 < alt1 ); + CPPUNIT_IMPLY( sym1 < eps1 && eps1 < con1, sym1 < con1 ); + CPPUNIT_IMPLY( sym1 < eps1 && eps1 < ite1, sym1 < ite1 ); + CPPUNIT_IMPLY( sym1 < eps1 && eps1 < emp1, sym1 < emp1 ); +} + +void RegExpTest::testOrder2() { + regexp::RegExpSymbol s1("1"); + regexp::RegExpSymbol s2("2"); + regexp::RegExpSymbol s3("3"); + + regexp::RegExpEmpty e1; + regexp::RegExpEpsilon e2; + + regexp::Iteration i1(s1); + regexp::Iteration i2(s2); + regexp::Iteration i3(s3); + + regexp::RegExp alt1(regexp::Alternation(s1, s1)); + regexp::RegExp alt2(regexp::Alternation(s1, s2)); + regexp::RegExp alt3(regexp::Alternation(s1, s3)); + regexp::RegExp alt4(regexp::Alternation(s2, s1)); + regexp::RegExp alt5(regexp::Alternation(s2, s2)); + regexp::RegExp alt6(regexp::Alternation(s2, s3)); + regexp::RegExp alt7(regexp::Alternation(s3, s1)); + regexp::RegExp alt8(regexp::Alternation(s3, s2)); + regexp::RegExp alt9(regexp::Alternation(s3, s3)); + + regexp::RegExp con1(regexp::Concatenation (s1, s1)); + regexp::RegExp con2(regexp::Concatenation (s1, s2)); + regexp::RegExp con3(regexp::Concatenation (s1, s3)); + regexp::RegExp con4(regexp::Concatenation (s2, s1)); + regexp::RegExp con5(regexp::Concatenation (s2, s2)); + regexp::RegExp con6(regexp::Concatenation (s2, s3)); + regexp::RegExp con7(regexp::Concatenation (s3, s1)); + regexp::RegExp con8(regexp::Concatenation (s3, s2)); + regexp::RegExp con9(regexp::Concatenation (s3, s3)); + + regexp::RegExp ite1(i1); + regexp::RegExp ite2(i2); + regexp::RegExp ite3(i3); + + regexp::RegExp emp1(e1); + regexp::RegExp eps1(e2); + + regexp::RegExp sym1(s1); + regexp::RegExp sym2(s2); + regexp::RegExp sym3(s3); + + + + CPPUNIT_ASSERT(alt1 == alt1); + CPPUNIT_ASSERT(alt1 < alt2); + CPPUNIT_ASSERT(alt1 < alt3); + CPPUNIT_ASSERT(alt1 < alt4); + CPPUNIT_ASSERT(alt1 < alt5); + CPPUNIT_ASSERT(alt1 < alt6); + CPPUNIT_ASSERT(alt1 < alt7); + CPPUNIT_ASSERT(alt1 < alt8); + CPPUNIT_ASSERT(alt1 < alt9); + + CPPUNIT_ASSERT(alt2 > alt1); + CPPUNIT_ASSERT(alt2 == alt2); + CPPUNIT_ASSERT(alt2 < alt3); + CPPUNIT_ASSERT(alt2 < alt4); + CPPUNIT_ASSERT(alt2 < alt5); + CPPUNIT_ASSERT(alt2 < alt6); + CPPUNIT_ASSERT(alt2 < alt7); + CPPUNIT_ASSERT(alt2 < alt8); + CPPUNIT_ASSERT(alt2 < alt9); + + CPPUNIT_ASSERT(alt3 > alt1); + CPPUNIT_ASSERT(alt3 > alt2); + CPPUNIT_ASSERT(alt3 == alt3); + CPPUNIT_ASSERT(alt3 < alt4); + CPPUNIT_ASSERT(alt3 < alt5); + CPPUNIT_ASSERT(alt3 < alt6); + CPPUNIT_ASSERT(alt3 < alt7); + CPPUNIT_ASSERT(alt3 < alt8); + CPPUNIT_ASSERT(alt3 < alt9); + + CPPUNIT_ASSERT(alt4 > alt1); + CPPUNIT_ASSERT(alt4 > alt2); + CPPUNIT_ASSERT(alt4 > alt3); + CPPUNIT_ASSERT(alt4 == alt4); + CPPUNIT_ASSERT(alt4 < alt5); + CPPUNIT_ASSERT(alt4 < alt6); + CPPUNIT_ASSERT(alt4 < alt7); + CPPUNIT_ASSERT(alt4 < alt8); + CPPUNIT_ASSERT(alt4 < alt9); + + CPPUNIT_ASSERT(alt5 > alt1); + CPPUNIT_ASSERT(alt5 > alt2); + CPPUNIT_ASSERT(alt5 > alt3); + CPPUNIT_ASSERT(alt5 > alt4); + CPPUNIT_ASSERT(alt5 == alt5); + CPPUNIT_ASSERT(alt5 < alt6); + CPPUNIT_ASSERT(alt5 < alt7); + CPPUNIT_ASSERT(alt5 < alt8); + CPPUNIT_ASSERT(alt5 < alt9); + + CPPUNIT_ASSERT(alt6 > alt1); + CPPUNIT_ASSERT(alt6 > alt2); + CPPUNIT_ASSERT(alt6 > alt3); + CPPUNIT_ASSERT(alt6 > alt4); + CPPUNIT_ASSERT(alt6 > alt5); + CPPUNIT_ASSERT(alt6 == alt6); + CPPUNIT_ASSERT(alt6 < alt7); + CPPUNIT_ASSERT(alt6 < alt8); + CPPUNIT_ASSERT(alt6 < alt9); + + CPPUNIT_ASSERT(alt7 > alt1); + CPPUNIT_ASSERT(alt7 > alt2); + CPPUNIT_ASSERT(alt7 > alt3); + CPPUNIT_ASSERT(alt7 > alt4); + CPPUNIT_ASSERT(alt7 > alt5); + CPPUNIT_ASSERT(alt7 > alt6); + CPPUNIT_ASSERT(alt7 == alt7); + CPPUNIT_ASSERT(alt7 < alt8); + CPPUNIT_ASSERT(alt7 < alt9); + + CPPUNIT_ASSERT(alt8 > alt1); + CPPUNIT_ASSERT(alt8 > alt2); + CPPUNIT_ASSERT(alt8 > alt3); + CPPUNIT_ASSERT(alt8 > alt4); + CPPUNIT_ASSERT(alt8 > alt5); + CPPUNIT_ASSERT(alt8 > alt6); + CPPUNIT_ASSERT(alt8 > alt7); + CPPUNIT_ASSERT(alt8 == alt8); + CPPUNIT_ASSERT(alt8 < alt9); + + CPPUNIT_ASSERT(alt9 > alt1); + CPPUNIT_ASSERT(alt9 > alt2); + CPPUNIT_ASSERT(alt9 > alt3); + CPPUNIT_ASSERT(alt9 > alt4); + CPPUNIT_ASSERT(alt9 > alt5); + CPPUNIT_ASSERT(alt9 > alt6); + CPPUNIT_ASSERT(alt9 > alt7); + CPPUNIT_ASSERT(alt9 > alt8); + CPPUNIT_ASSERT(alt9 == alt9); + + + + CPPUNIT_ASSERT(con1 == con1); + CPPUNIT_ASSERT(con1 < con2); + CPPUNIT_ASSERT(con1 < con3); + CPPUNIT_ASSERT(con1 < con4); + CPPUNIT_ASSERT(con1 < con5); + CPPUNIT_ASSERT(con1 < con6); + CPPUNIT_ASSERT(con1 < con7); + CPPUNIT_ASSERT(con1 < con8); + CPPUNIT_ASSERT(con1 < con9); + + CPPUNIT_ASSERT(con2 > con1); + CPPUNIT_ASSERT(con2 == con2); + CPPUNIT_ASSERT(con2 < con3); + CPPUNIT_ASSERT(con2 < con4); + CPPUNIT_ASSERT(con2 < con5); + CPPUNIT_ASSERT(con2 < con6); + CPPUNIT_ASSERT(con2 < con7); + CPPUNIT_ASSERT(con2 < con8); + CPPUNIT_ASSERT(con2 < con9); + + CPPUNIT_ASSERT(con3 > con1); + CPPUNIT_ASSERT(con3 > con2); + CPPUNIT_ASSERT(con3 == con3); + CPPUNIT_ASSERT(con3 < con4); + CPPUNIT_ASSERT(con3 < con5); + CPPUNIT_ASSERT(con3 < con6); + CPPUNIT_ASSERT(con3 < con7); + CPPUNIT_ASSERT(con3 < con8); + CPPUNIT_ASSERT(con3 < con9); + + CPPUNIT_ASSERT(con4 > con1); + CPPUNIT_ASSERT(con4 > con2); + CPPUNIT_ASSERT(con4 > con3); + CPPUNIT_ASSERT(con4 == con4); + CPPUNIT_ASSERT(con4 < con5); + CPPUNIT_ASSERT(con4 < con6); + CPPUNIT_ASSERT(con4 < con7); + CPPUNIT_ASSERT(con4 < con8); + CPPUNIT_ASSERT(con4 < con9); + + CPPUNIT_ASSERT(con5 > con1); + CPPUNIT_ASSERT(con5 > con2); + CPPUNIT_ASSERT(con5 > con3); + CPPUNIT_ASSERT(con5 > con4); + CPPUNIT_ASSERT(con5 == con5); + CPPUNIT_ASSERT(con5 < con6); + CPPUNIT_ASSERT(con5 < con7); + CPPUNIT_ASSERT(con5 < con8); + CPPUNIT_ASSERT(con5 < con9); + + CPPUNIT_ASSERT(con6 > con1); + CPPUNIT_ASSERT(con6 > con2); + CPPUNIT_ASSERT(con6 > con3); + CPPUNIT_ASSERT(con6 > con4); + CPPUNIT_ASSERT(con6 > con5); + CPPUNIT_ASSERT(con6 == con6); + CPPUNIT_ASSERT(con6 < con7); + CPPUNIT_ASSERT(con6 < con8); + CPPUNIT_ASSERT(con6 < con9); + + CPPUNIT_ASSERT(con7 > con1); + CPPUNIT_ASSERT(con7 > con2); + CPPUNIT_ASSERT(con7 > con3); + CPPUNIT_ASSERT(con7 > con4); + CPPUNIT_ASSERT(con7 > con5); + CPPUNIT_ASSERT(con7 > con6); + CPPUNIT_ASSERT(con7 == con7); + CPPUNIT_ASSERT(con7 < con8); + CPPUNIT_ASSERT(con7 < con9); + + CPPUNIT_ASSERT(con8 > con1); + CPPUNIT_ASSERT(con8 > con2); + CPPUNIT_ASSERT(con8 > con3); + CPPUNIT_ASSERT(con8 > con4); + CPPUNIT_ASSERT(con8 > con5); + CPPUNIT_ASSERT(con8 > con6); + CPPUNIT_ASSERT(con8 > con7); + CPPUNIT_ASSERT(con8 == con8); + CPPUNIT_ASSERT(con8 < con9); + + CPPUNIT_ASSERT(con9 > con1); + CPPUNIT_ASSERT(con9 > con2); + CPPUNIT_ASSERT(con9 > con3); + CPPUNIT_ASSERT(con9 > con4); + CPPUNIT_ASSERT(con9 > con5); + CPPUNIT_ASSERT(con9 > con6); + CPPUNIT_ASSERT(con9 > con7); + CPPUNIT_ASSERT(con9 > con8); + CPPUNIT_ASSERT(con9 == con9); + + + CPPUNIT_ASSERT(ite1 == ite1); + CPPUNIT_ASSERT(ite1 < ite2); + CPPUNIT_ASSERT(ite1 < ite3); + + CPPUNIT_ASSERT(ite2 > ite1); + CPPUNIT_ASSERT(ite2 == ite2); + CPPUNIT_ASSERT(ite2 < ite3); + + CPPUNIT_ASSERT(ite3 > ite1); + CPPUNIT_ASSERT(ite3 > ite2); + CPPUNIT_ASSERT(ite3 == ite3); + + + + CPPUNIT_ASSERT(emp1 == emp1); + + + + CPPUNIT_ASSERT(eps1 == eps1); + + + + CPPUNIT_ASSERT(sym1 == sym1); + CPPUNIT_ASSERT(sym1 < sym2); + CPPUNIT_ASSERT(sym1 < sym3); + + CPPUNIT_ASSERT(sym2 > sym1); + CPPUNIT_ASSERT(sym2 == sym2); + CPPUNIT_ASSERT(sym2 < sym3); + + CPPUNIT_ASSERT(sym3 > sym1); + CPPUNIT_ASSERT(sym3 > sym2); + CPPUNIT_ASSERT(sym3 == sym3); } \ No newline at end of file diff --git a/alib2/test-src/regexp/RegExpTest.h b/alib2/test-src/regexp/RegExpTest.h index c7c19a84a826a865f197a799c07bcfd62ca34d93..bb02c48b90cd05d2a313bec631833071acd1380c 100644 --- a/alib2/test-src/regexp/RegExpTest.h +++ b/alib2/test-src/regexp/RegExpTest.h @@ -8,6 +8,8 @@ class RegExpTest : public CppUnit::TestFixture CPPUNIT_TEST_SUITE( RegExpTest ); CPPUNIT_TEST( testEqual ); CPPUNIT_TEST( testXMLParser ); + CPPUNIT_TEST( testOrder ); + CPPUNIT_TEST( testOrder2 ); CPPUNIT_TEST_SUITE_END(); public: @@ -16,6 +18,8 @@ public: void testEqual(); void testXMLParser(); + void testOrder(); + void testOrder2(); }; #endif // REG_EXP_TEST_H_