Testing Graph Library
 =======================

  Constructing Graph instance
 -----------------------------
  vertex id = 1, value = v2
    edge points to vertex with id = 2 and value = v3, edge value = e3
  vertex id = 0, value = v1
    edge points to vertex with id = 1 and value = v2, edge value = e1
    edge points to vertex with id = 2 and value = v3, edge value = e2
  vertex id = 2, value = v3
  vertex id = 3, value = v4
    edge points to vertex with id = 2 and value = v3, edge value = e4
  vertex id = 50, value = v5
    edge points to vertex with id = 1 and value = v2, edge value = e5

  Making copy of instance
 -------------------------
  vertex id = 1, value = v2
    edge points to vertex with id = 2 and value = v3, edge value = e3
  vertex id = 0, value = v1
    edge points to vertex with id = 1 and value = v2, edge value = e1
    edge points to vertex with id = 2 and value = v3, edge value = e2
  vertex id = 2, value = v3
  vertex id = 3, value = v4
    edge points to vertex with id = 2 and value = v3, edge value = e4
  vertex id = 50, value = v5
    edge points to vertex with id = 1 and value = v2, edge value = e5

  Modifying copy's values
 -------------------------
  vertex id = 1, value = v2copy
    edge points to vertex with id = 2 and value = v3copy, edge value = e3
  vertex id = 0, value = v1copy
    edge points to vertex with id = 1 and value = v2copy, edge value = e1
    edge points to vertex with id = 2 and value = v3copy, edge value = e2
  vertex id = 2, value = v3copy
  vertex id = 3, value = v4copy
    edge points to vertex with id = 2 and value = v3copy, edge value = e4
  vertex id = 50, value = v5copy
    edge points to vertex with id = 1 and value = v2copy, edge value = e5

  Assigning original instance to copy
 -------------------------------------
  vertex id = 1, value = v2
    edge points to vertex with id = 2 and value = v3, edge value = e3
  vertex id = 0, value = v1
    edge points to vertex with id = 1 and value = v2, edge value = e1
    edge points to vertex with id = 2 and value = v3, edge value = e2
  vertex id = 2, value = v3
  vertex id = 3, value = v4
    edge points to vertex with id = 2 and value = v3, edge value = e4
  vertex id = 50, value = v5
    edge points to vertex with id = 1 and value = v2, edge value = e5

  Vertices with no Parents:
 ---------------------------
  v1 v4 v5

  Testing Depth First Search with function pointer
 --------------------------------------------------
  starting at id 1
  1
  2
  0
  3
  50
  starting at id 0
  0
  1
  2
  3
  50
  starting at id 2
  2
  1
  0
  3
  50
  starting at id 3
  3
  2
  1
  0
  50
  starting at id 50
  50
  1
  2
  0
  3

  Testing Depth First Search with Functor
 -----------------------------------------
  From functor: vertix id = 1, number of edges = 1
  From functor: vertix id = 2, number of edges = 0
  From functor: vertix id = 0, number of edges = 2
  From functor: vertix id = 3, number of edges = 1
  From functor: vertix id = 50, number of edges = 1

  Testing Serialization to XML
 ------------------------------
<graph>
  <vertex id="1" value="v2">
    <edge targetId="2" value="e3">
    </edge>
  </vertex>
  <vertex id="0" value="v1">
    <edge targetId="1" value="e1">
    </edge>
    <edge targetId="2" value="e2">
    </edge>
  </vertex>
  <vertex id="2" value="v3">
  </vertex>
  <vertex id="3" value="v4">
    <edge targetId="2" value="e4">
    </edge>
  </vertex>
  <vertex id="50" value="v5">
    <edge targetId="1" value="e5">
    </edge>
  </vertex>
</graph>

  Testing Graph construction from XML
 -------------------------------------
  vertex id = 1, value = v2
    edge points to vertex with id = 2 and value = v3, edge value = e3
  vertex id = 0, value = v1
    edge points to vertex with id = 1 and value = v2, edge value = e1
    edge points to vertex with id = 2 and value = v3, edge value = e2
  vertex id = 2, value = v3
  vertex id = 3, value = v4
    edge points to vertex with id = 2 and value = v3, edge value = e4
  vertex id = 50, value = v5
    edge points to vertex with id = 1 and value = v2, edge value = e5