# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1254212511 -7200
# Node ID 819ca5b50de0c849d6097a3bf933060bbf21404d
# Parent 456fa5bc32569263c32886a2f1ebbc62b50e2500
Add a warning for List(Di)Graph::Snapshot (#311)
and extend tests for snapshots
diff --git a/lemon/list_graph.h b/lemon/list_graph.h
|
a
|
b
|
|
| 751 | 751 | /// |
| 752 | 752 | /// This function undos the changes until the last snapshot |
| 753 | 753 | /// created by save() or Snapshot(ListDigraph&). |
| | 754 | /// |
| | 755 | /// \warning This method invalidates the snapshot, i.e. repeated |
| | 756 | /// restoring is not supported unless you call save() again. |
| 754 | 757 | void restore() { |
| 755 | 758 | detach(); |
| 756 | 759 | for(std::list<Arc>::iterator it = added_arcs.begin(); |
| … |
… |
|
| 1550 | 1553 | /// |
| 1551 | 1554 | /// This function undos the changes until the last snapshot |
| 1552 | 1555 | /// created by save() or Snapshot(ListGraph&). |
| | 1556 | /// |
| | 1557 | /// \warning This method invalidates the snapshot, i.e. repeated |
| | 1558 | /// restoring is not supported unless you call save() again. |
| 1553 | 1559 | void restore() { |
| 1554 | 1560 | detach(); |
| 1555 | 1561 | for(std::list<Edge>::iterator it = added_edges.begin(); |
diff --git a/test/digraph_test.cc b/test/digraph_test.cc
|
a
|
b
|
|
| 286 | 286 | G.addArc(G.addNode(), G.addNode()); |
| 287 | 287 | |
| 288 | 288 | snapshot.restore(); |
| | 289 | snapshot.save(G); |
| | 290 | |
| | 291 | checkGraphNodeList(G, 4); |
| | 292 | checkGraphArcList(G, 4); |
| | 293 | |
| | 294 | G.addArc(G.addNode(), G.addNode()); |
| | 295 | |
| | 296 | snapshot.restore(); |
| 289 | 297 | |
| 290 | 298 | checkGraphNodeList(G, 4); |
| 291 | 299 | checkGraphArcList(G, 4); |
diff --git a/test/graph_test.cc b/test/graph_test.cc
|
a
|
b
|
|
| 259 | 259 | G.addEdge(G.addNode(), G.addNode()); |
| 260 | 260 | |
| 261 | 261 | snapshot.restore(); |
| | 262 | snapshot.save(G); |
| | 263 | |
| | 264 | checkGraphNodeList(G, 4); |
| | 265 | checkGraphEdgeList(G, 3); |
| | 266 | checkGraphArcList(G, 6); |
| | 267 | |
| | 268 | G.addEdge(G.addNode(), G.addNode()); |
| | 269 | |
| | 270 | snapshot.restore(); |
| 262 | 271 | |
| 263 | 272 | checkGraphNodeList(G, 4); |
| 264 | 273 | checkGraphEdgeList(G, 3); |