// Test program for Ambient_dimension<> and Feature_dimension<>. // Sylvain Pion, 2005, 2008. #include #include #include #include #include #include #include #include #include template < typename K > void test(CGAL::Dimension_tag<2>) { assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 2 == CGAL::Ambient_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 2 == CGAL::Feature_dimension::value ); assert( 2 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); // assert( ? == CGAL::Feature_dimension::value ); assert( 2 == CGAL::Feature_dimension::value ); } template < typename K > void test(CGAL::Dimension_tag<3>) { assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 3 == CGAL::Ambient_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 2 == CGAL::Feature_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 2 == CGAL::Feature_dimension::value ); assert( 3 == CGAL::Feature_dimension::value ); assert( 3 == CGAL::Feature_dimension::value ); assert( 2 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); // assert( ? == CGAL::Feature_dimension::value ); assert( 3 == CGAL::Feature_dimension::value ); } void check_dyn_dim(CGAL::Dynamic_dimension_tag) {} template < typename K > void test(CGAL::Dynamic_dimension_tag) { check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); check_dyn_dim(typename CGAL::Ambient_dimension::type() ); assert( 0 == CGAL::Feature_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 0 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); assert( 1 == CGAL::Feature_dimension::value ); check_dyn_dim(typename CGAL::Feature_dimension::type() ); check_dyn_dim(typename CGAL::Feature_dimension::type() ); check_dyn_dim(typename CGAL::Feature_dimension::type() ); // check_dyn_dim(typename CGAL::Feature_dimension::type() ); } int main() { test >(CGAL::Dimension_tag<2>()); test >(CGAL::Dimension_tag<3>()); test >(CGAL::Dynamic_dimension_tag()); test >(CGAL::Dimension_tag<2>()); test >(CGAL::Dimension_tag<3>()); test >(CGAL::Dynamic_dimension_tag()); test(CGAL::Dimension_tag<2>()); test(CGAL::Dimension_tag<3>()); test(CGAL::Dimension_tag<2>()); test(CGAL::Dimension_tag<3>()); return 0; }