src/test/maps_test.cc
changeset 1041 9d503ce002db
child 1070 6aa1520a0f2f
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/test/maps_test.cc	Mon Jan 03 16:19:46 2005 +0000
     1.3 @@ -0,0 +1,35 @@
     1.4 +#include <lemon/concept_check.h>
     1.5 +#include <lemon/concept/maps.h>
     1.6 +#include <lemon/maps.h>
     1.7 +
     1.8 +#include "test_tools.h"
     1.9 +
    1.10 +using namespace lemon;
    1.11 +using namespace lemon::concept;
    1.12 +
    1.13 +struct A {};
    1.14 +struct B {};
    1.15 +
    1.16 +typedef ReadMap<A,double> DoubleMap;
    1.17 +
    1.18 +int main()
    1.19 +{ // checking graph components
    1.20 +  
    1.21 +  checkConcept<ReadMap<A,B>, ReadMap<A,B> >();
    1.22 +  checkConcept<WriteMap<A,B>, WriteMap<A,B> >();
    1.23 +  checkConcept<ReadWriteMap<A,B>, ReadWriteMap<A,B> >();
    1.24 +  checkConcept<ReferenceMap<A,B,B&,const B&>, ReferenceMap<A,B,B&,const B&> >();
    1.25 +
    1.26 +  checkConcept<ReadMap<A,double>, AddMap<DoubleMap,DoubleMap> >();
    1.27 +  checkConcept<ReadMap<A,double>, SubMap<DoubleMap,DoubleMap> >();
    1.28 +  checkConcept<ReadMap<A,double>, MulMap<DoubleMap,DoubleMap> >();
    1.29 +  checkConcept<ReadMap<A,double>, DivMap<DoubleMap,DoubleMap> >();
    1.30 +  checkConcept<ReadMap<A,double>, NegMap<DoubleMap> >();
    1.31 +  checkConcept<ReadMap<A,double>, AbsMap<DoubleMap> >();
    1.32 +  
    1.33 +  checkConcept<ReadMap<B,double>, ComposeMap<DoubleMap,ReadMap<B,A> > >();
    1.34 +
    1.35 +  std::cout << __FILE__ ": All tests passed.\n";
    1.36 +  
    1.37 +  return 0;
    1.38 +}