COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/maps_test.cc

    r210 r731  
    33 * This file is a part of LEMON, a generic C++ optimization library.
    44 *
    5  * Copyright (C) 2003-2008
     5 * Copyright (C) 2003-2009
    66 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    77 * (Egervary Research Group on Combinatorial Optimization, EGRES).
     
    2323#include <lemon/concepts/maps.h>
    2424#include <lemon/maps.h>
     25#include <lemon/list_graph.h>
    2526
    2627#include "test_tools.h"
     
    171172    typedef ComposeMap<DoubleMap, ReadMap<B,A> > CompMap;
    172173    checkConcept<ReadMap<B,double>, CompMap>();
    173     CompMap map1(DoubleMap(),ReadMap<B,A>());
     174    CompMap map1 = CompMap(DoubleMap(),ReadMap<B,A>());
    174175    CompMap map2 = composeMap(DoubleMap(), ReadMap<B,A>());
    175176
     
    184185    typedef CombineMap<DoubleMap, DoubleMap, std::plus<double> > CombMap;
    185186    checkConcept<ReadMap<A,double>, CombMap>();
    186     CombMap map1(DoubleMap(), DoubleMap());
     187    CombMap map1 = CombMap(DoubleMap(), DoubleMap());
    187188    CombMap map2 = combineMap(DoubleMap(), DoubleMap(), std::plus<double>());
    188189
     
    196197    checkConcept<ReadMap<A,B>, FunctorToMap<F> >();
    197198    FunctorToMap<F> map1;
    198     FunctorToMap<F> map2(F());
     199    FunctorToMap<F> map2 = FunctorToMap<F>(F());
    199200    B b = functorToMap(F())[A()];
    200201
    201202    checkConcept<ReadMap<A,B>, MapToFunctor<ReadMap<A,B> > >();
    202     MapToFunctor<ReadMap<A,B> > map(ReadMap<A,B>());
     203    MapToFunctor<ReadMap<A,B> > map = MapToFunctor<ReadMap<A,B> >(ReadMap<A,B>());
    203204
    204205    check(functorToMap(&func)[A()] == 3,
     
    349350      check(v1[i++] == *it, "Something is wrong with LoggerBoolMap");
    350351  }
     352 
     353  // CrossRefMap
     354  {
     355    typedef ListDigraph Graph;
     356    DIGRAPH_TYPEDEFS(Graph);
     357
     358    checkConcept<ReadWriteMap<Node, int>,
     359                 CrossRefMap<Graph, Node, int> >();
     360   
     361    Graph gr;
     362    typedef CrossRefMap<Graph, Node, char> CRMap;
     363    typedef CRMap::ValueIterator ValueIt;
     364    CRMap map(gr);
     365   
     366    Node n0 = gr.addNode();
     367    Node n1 = gr.addNode();
     368    Node n2 = gr.addNode();
     369   
     370    map.set(n0, 'A');
     371    map.set(n1, 'B');
     372    map.set(n2, 'C');
     373    map.set(n2, 'A');
     374    map.set(n0, 'C');
     375
     376    check(map[n0] == 'C' && map[n1] == 'B' && map[n2] == 'A',
     377          "Wrong CrossRefMap");
     378    check(map('A') == n2 && map.inverse()['A'] == n2, "Wrong CrossRefMap");
     379    check(map('B') == n1 && map.inverse()['B'] == n1, "Wrong CrossRefMap");
     380    check(map('C') == n0 && map.inverse()['C'] == n0, "Wrong CrossRefMap");
     381
     382    ValueIt it = map.beginValue();
     383    check(*it++ == 'A' && *it++ == 'B' && *it++ == 'C' &&
     384          it == map.endValue(), "Wrong value iterator");
     385  }
    351386
    352387  return 0;
Note: See TracChangeset for help on using the changeset viewer.