// -*- c++ -*-

#include <iostream>
#include <vector>

#include <lemon/graph_utils.h>

#include <lemon/list_graph.h>
#include <lemon/smart_graph.h>
#include <lemon/full_graph.h>

#include "test_tools.h"
#include "graph_utils_test.h"


using namespace lemon;


int main() {
  ///\file
  { // checking list graph
    checkGraphCounters<ListGraph>();
  }
  { // checking smart graph
    checkGraphCounters<SmartGraph>();
  }
  {
    int num = 5;
    FullGraph fg(num);
    check(countNodes(fg) == num, "FullGraph: wrong node number.");
    check(countEdges(fg) == num*num, "FullGraph: wrong edge number.");    
  }

  std::cout << __FILE__ ": All tests passed.\n";

  return 0;
}
