NewMapWin has become Dialog instead of Window. Therefore it is created dynamically, when there is need for it, instead of keeping one instance in memory. This solution is slower, but more correct than before.
1 #include <lemon/concept_check.h>
2 #include <lemon/concept/maps.h>
3 #include <lemon/maps.h>
5 #include "test_tools.h"
8 using namespace lemon::concept;
15 typedef A argument_type;
16 typedef B result_type;
18 B operator()(const A &) const {return B();}
21 int func(A) {return 3;}
23 int binc(int, B) {return 4;}
25 typedef ReadMap<A,double> DoubleMap;
28 { // checking graph components
30 checkConcept<ReadMap<A,B>, ReadMap<A,B> >();
31 checkConcept<WriteMap<A,B>, WriteMap<A,B> >();
32 checkConcept<ReadWriteMap<A,B>, ReadWriteMap<A,B> >();
33 checkConcept<ReferenceMap<A,B,B&,const B&>, ReferenceMap<A,B,B&,const B&> >();
35 checkConcept<ReadMap<A,double>, AddMap<DoubleMap,DoubleMap> >();
36 checkConcept<ReadMap<A,double>, SubMap<DoubleMap,DoubleMap> >();
37 checkConcept<ReadMap<A,double>, MulMap<DoubleMap,DoubleMap> >();
38 checkConcept<ReadMap<A,double>, DivMap<DoubleMap,DoubleMap> >();
39 checkConcept<ReadMap<A,double>, NegMap<DoubleMap> >();
40 checkConcept<ReadMap<A,double>, AbsMap<DoubleMap> >();
41 checkConcept<ReadMap<A,double>, ShiftMap<DoubleMap> >();
42 checkConcept<ReadMap<A,double>, ScaleMap<DoubleMap> >();
44 checkConcept<ReadMap<B,double>, ComposeMap<DoubleMap,ReadMap<B,A> > >();
46 checkConcept<ReadMap<A,B>, FunctorMap<F, A, B> >();
50 a=mapFunctor(constMap<A,int>(2))(A());
51 check(a==2,"Something is wrong with mapFunctor");
54 b=functorMap(F())[A()];
56 a=functorMap(&func)[A()];
57 check(a==3,"Something is wrong with functorMap");
59 a=combineMap(constMap<B, int, 1>(), identityMap<B>(), &binc)[B()];
60 check(a==4,"Something is wrong with combineMap");
63 std::cout << __FILE__ ": All tests passed.\n";