diff -r 91fb4372688f -r 02f4d5d9bfd7 test/map_test.h --- a/test/map_test.h Sun Jun 15 22:03:33 2008 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -/* -*- C++ -*- - * - * This file is a part of LEMON, a generic C++ optimization library - * - * Copyright (C) 2003-2008 - * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport - * (Egervary Research Group on Combinatorial Optimization, EGRES). - * - * Permission to use, modify and distribute this software is granted - * provided that this copyright notice appears in all copies. For - * precise terms see the accompanying LICENSE file. - * - * This software is provided "AS IS" with no warranty of any kind, - * express or implied, and with no claim as to its suitability for any - * purpose. - * - */ - -#ifndef LEMON_TEST_MAP_TEST_H -#define LEMON_TEST_MAP_TEST_H - - -#include -#include - -#include "test_tools.h" - - -//! \ingroup misc -//! \file -//! \brief Some utilities to test map classes. - -namespace lemon { - - - - template - void checkGraphNodeMap() { - Graph graph; - const int num = 16; - - typedef typename Graph::Node Node; - - std::vector nodes; - for (int i = 0; i < num; ++i) { - nodes.push_back(graph.addNode()); - } - typedef typename Graph::template NodeMap IntNodeMap; - IntNodeMap map(graph, 42); - for (int i = 0; i < int(nodes.size()); ++i) { - check(map[nodes[i]] == 42, "Wrong map constructor."); - } - for (int i = 0; i < num; ++i) { - nodes.push_back(graph.addNode()); - map[nodes.back()] = 23; - } - map = constMap(12); - for (int i = 0; i < int(nodes.size()); ++i) { - check(map[nodes[i]] == 12, "Wrong map constructor."); - } - graph.clear(); - nodes.clear(); - } - - template - void checkGraphArcMap() { - Graph graph; - const int num = 16; - - typedef typename Graph::Node Node; - typedef typename Graph::Arc Arc; - - std::vector nodes; - for (int i = 0; i < num; ++i) { - nodes.push_back(graph.addNode()); - } - - std::vector edges; - for (int i = 0; i < num; ++i) { - for (int j = 0; j < i; ++j) { - edges.push_back(graph.addArc(nodes[i], nodes[j])); - } - } - - typedef typename Graph::template ArcMap IntArcMap; - IntArcMap map(graph, 42); - - for (int i = 0; i < int(edges.size()); ++i) { - check(map[edges[i]] == 42, "Wrong map constructor."); - } - - for (int i = 0; i < num; ++i) { - for (int j = i + 1; j < num; ++j) { - edges.push_back(graph.addArc(nodes[i], nodes[j])); - map[edges.back()] = 23; - } - } - map = constMap(12); - for (int i = 0; i < int(edges.size()); ++i) { - check(map[edges[i]] == 12, "Wrong map constructor."); - } - graph.clear(); - edges.clear(); - } - - template - void checkGraphEdgeMap() { - Graph graph; - const int num = 16; - - typedef typename Graph::Node Node; - typedef typename Graph::Edge Edge; - - std::vector nodes; - for (int i = 0; i < num; ++i) { - nodes.push_back(graph.addNode()); - } - - std::vector edges; - for (int i = 0; i < num; ++i) { - for (int j = 0; j < i; ++j) { - edges.push_back(graph.addEdge(nodes[i], nodes[j])); - } - } - - typedef typename Graph::template EdgeMap IntEdgeMap; - IntEdgeMap map(graph, 42); - - for (int i = 0; i < int(edges.size()); ++i) { - check(map[edges[i]] == 42, "Wrong map constructor."); - } - - for (int i = 0; i < num; ++i) { - for (int j = i + 1; j < num; ++j) { - edges.push_back(graph.addEdge(nodes[i], nodes[j])); - map[edges.back()] = 23; - } - } - map = constMap(12); - for (int i = 0; i < int(edges.size()); ++i) { - check(map[edges[i]] == 12, "Wrong map constructor."); - } - graph.clear(); - edges.clear(); - } - -} - -#endif