added tests and switched to boost.test

[SVN r1456]
This commit is contained in:
Jan Langer
2003-08-22 15:20:35 +00:00
parent 5edb930d75
commit 0fdcc56b32

View File

@@ -9,31 +9,37 @@
// provided the above notices are retained, and a notice that the code was // provided the above notices are retained, and a notice that the code was
// modified is included with the above copyright notice. // modified is included with the above copyright notice.
#include <cassert>
#include <functional> #include <functional>
#include <boost/test/minimal.hpp>
#include <boost/utility/lexicographic.hpp> #include <boost/utility/lexicographic.hpp>
int main () int test_main (int, char *[])
{ {
using boost::lexicographic; using boost::lexicographic;
lexicographic l1; // equivalent lexicographic l1; // equivalent
assert (!l1); BOOST_CHECK (!l1);
lexicographic l2 (l1); // equivalent lexicographic l2 (l1); // equivalent
assert (!l2); BOOST_CHECK (!l2);
BOOST_CHECK (l1 == l2);
l2 = l1; l2 = l1;
assert (!l2); BOOST_CHECK (!l2);
BOOST_CHECK (l2 == l1);
l2 (3, 6); // less l2 (3, 6); // less
assert (l2); BOOST_CHECK (l2);
assert (l2.result () == lexicographic::minus); BOOST_CHECK (l2.result () == lexicographic::minus);
assert (lexicographic::equivalent != l2.result ()); BOOST_CHECK (lexicographic::minus == l2.result ());
BOOST_CHECK (l2.result () != lexicographic::equivalent);
BOOST_CHECK (lexicographic::equivalent != l2.result ());
BOOST_CHECK (l1 != l2);
lexicographic l3 (3.0, 1.0); // greater lexicographic l3 (3.0, 1.0); // greater
assert (!l3); BOOST_CHECK (!l3);
BOOST_CHECK (l3 != l1);
for (int i = 1; i <= 3; ++i) for (int i = 1; i <= 3; ++i)
for (int j = 1; j <= 3; ++j) for (int j = 1; j <= 3; ++j)
@@ -43,28 +49,30 @@ int main ()
l4 (i, 2) (j, 2) (k, 2); l4 (i, 2) (j, 2) (k, 2);
if (i < 2) if (i < 2)
assert (l4); BOOST_CHECK (l4);
else if (i > 2) else if (i > 2)
assert (!l4); BOOST_CHECK (!l4);
else if (j < 2) else if (j < 2)
assert (l4); BOOST_CHECK (l4);
else if (j > 2) else if (j > 2)
assert (!l4); BOOST_CHECK (!l4);
else if (k < 2) else if (k < 2)
assert (l4); BOOST_CHECK (l4);
else else
assert (!l4); BOOST_CHECK (!l4);
} }
lexicographic l5; lexicographic l5;
l5 (1, 1, std::greater <int> ()) (2, 3); l5 (1, 1, std::greater <int> ()) (2, 3);
assert (l5); BOOST_CHECK (l5);
lexicographic l6; lexicographic l6;
l6 (1, 1, std::greater <int> ()) (2, 3, std::greater <int> ()); l6 (1, 1, std::greater <int> ()) (2, 3, std::greater <int> ());
assert (!l6); BOOST_CHECK (!l6);
lexicographic l7; lexicographic l7;
l7 (1, 1) (2, 3, std::greater <int> ()); l7 (1, 1) (2, 3, std::greater <int> ());
assert (!l7); BOOST_CHECK (!l7);
return 0;
} }