mirror of https://github.com/CGAL/cgal
109 lines
2.2 KiB
C++
109 lines
2.2 KiB
C++
#include <iostream>
|
|
#include <cassert>
|
|
|
|
#include <CGAL/Exponent_vector.h>
|
|
#include <boost/concept_check.hpp>
|
|
|
|
int main() {
|
|
typedef CGAL::Exponent_vector T;
|
|
|
|
boost::function_requires< boost::DefaultConstructibleConcept<T> >();
|
|
boost::function_requires< boost::AssignableConcept<T> >();
|
|
boost::function_requires< boost::EqualityComparableConcept<T> >();
|
|
boost::function_requires< boost::ComparableConcept<T> >();
|
|
boost::function_requires< boost::RandomAccessContainerConcept<T> >();
|
|
|
|
CGAL::Exponent_vector ev1,ev2;
|
|
assert(ev1.size()==0);
|
|
assert(ev2.size()==0);
|
|
assert( (ev1==ev2));
|
|
assert(!(ev1!=ev2));
|
|
assert(!(ev1<ev2));
|
|
assert(!(ev1>ev2));
|
|
|
|
ev1.push_back(1);
|
|
ev1.push_back(0);
|
|
ev1.push_back(0);
|
|
|
|
ev2.push_back(0);
|
|
ev2.push_back(1);
|
|
ev2.push_back(0);
|
|
|
|
assert(!(ev2 == ev1)) ;
|
|
assert( (ev2 != ev1)) ;
|
|
assert(!(ev2 < ev1)) ;
|
|
assert( (ev2 > ev1)) ;
|
|
|
|
assert(CGAL::is_valid(ev1));
|
|
|
|
std::vector<int> vec;
|
|
vec.push_back(0); vec.push_back(1); vec.push_back(5);
|
|
|
|
ev1 = CGAL::Exponent_vector(vec.begin(),vec.end());
|
|
assert(ev1[0] == 0);
|
|
assert(ev1[1] == 1);
|
|
assert(ev1[2] == 5);
|
|
|
|
// new constructors
|
|
// univariate
|
|
{
|
|
CGAL::Exponent_vector ev(-1);
|
|
assert(!CGAL::is_valid(ev));
|
|
}
|
|
{
|
|
CGAL::Exponent_vector ev(0);
|
|
assert(CGAL::is_valid(ev));
|
|
assert(ev[0] == 0);
|
|
}
|
|
{
|
|
CGAL::Exponent_vector ev(1);
|
|
assert(CGAL::is_valid(ev));
|
|
assert(ev[0] == 1);
|
|
}
|
|
|
|
// bivariate
|
|
{
|
|
CGAL::Exponent_vector ev(0,-1);
|
|
assert(!CGAL::is_valid(ev));
|
|
}
|
|
{
|
|
CGAL::Exponent_vector ev(2,1);
|
|
assert(CGAL::is_valid(ev));
|
|
assert(ev[0] == 2);
|
|
assert(ev[1] == 1);
|
|
|
|
}
|
|
|
|
|
|
// trivariate
|
|
{
|
|
CGAL::Exponent_vector ev(0,0,-1);
|
|
assert(!CGAL::is_valid(ev));
|
|
}
|
|
{
|
|
CGAL::Exponent_vector ev(3,2,1);
|
|
assert(CGAL::is_valid(ev));
|
|
assert(ev[0] == 3);
|
|
assert(ev[1] == 2);
|
|
assert(ev[2] == 1);
|
|
}
|
|
|
|
// four-variate
|
|
{
|
|
CGAL::Exponent_vector ev(0,0,0,-1);
|
|
assert(!CGAL::is_valid(ev));
|
|
}
|
|
{
|
|
CGAL::Exponent_vector ev(4,3,2,1);
|
|
assert(CGAL::is_valid(ev));
|
|
assert(ev[0] == 4);
|
|
assert(ev[1] == 3);
|
|
assert(ev[2] == 2);
|
|
assert(ev[3] == 1);
|
|
}
|
|
|
|
using std::swap; swap(ev1,ev2);
|
|
|
|
return 0;
|
|
}
|