|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Tests for Tarjan. More...
Go to the source code of this file.
Classes | |
| struct | SkipWeightZeroArcs |
Typedefs | |
| using | TestDigraph = List_Digraph< Graph_Node< int >, Graph_Arc< int > > |
Functions | |
| TestDigraph::Node * | add_node (TestDigraph &g, int value) |
| TestDigraph::Arc * | add_arc (TestDigraph &g, TestDigraph::Node *src, TestDigraph::Node *tgt, int value=0) |
| TEST (TarjanTest, EmptyGraph) | |
| TEST (TarjanTest, SingleNodeNoLoop) | |
| TEST (TarjanTest, SingleNodeWithLoop) | |
| TEST (TarjanTest, TwoNodesNoCycle) | |
| TEST (TarjanTest, TwoNodesWithCycle) | |
| TEST (TarjanTest, LinearChain) | |
| TEST (TarjanTest, SimpleCycle) | |
| TEST (TarjanTest, MultipleSCCs) | |
| TEST (TarjanTest, ConnectedComponentsWithArcs) | |
| TEST (TarjanTest, ComputeCycleFromSource) | |
| TEST (TarjanTest, ComputeCycleInTestDigraphClass) | |
| TEST (TarjanTest, DiamondDAG) | |
| TEST (TarjanTest, ComplexNestedCycles) | |
| TEST (TarjanTest, DynDlistOverloads) | |
| TEST (TarjanTest, DisconnectedComponents) | |
| TEST (TarjanTest, LargeCycle) | |
| TEST (TarjanTest, SCCTree) | |
| TEST (TarjanTest, NumConnectedComponents) | |
| TEST (TarjanTest, NullSourceValidation) | |
| TEST (TarjanTest, FilterAccessor) | |
| TEST (TarjanTest, StateGetters) | |
| TEST (TarjanTest, MoveSemantics) | |
| TEST (TarjanTest, CustomArcFilter) | |
| TEST (TarjanTest, LargeGraphStress) | |
| TEST (TarjanTest, MultipleDisjointCycles) | |
| TEST (TarjanTest, CyclePathVerification) | |
| TEST (TarjanTest, CompleteDigraph) | |
| TEST (TarjanTest, ReuseInstance) | |
| TEST (TarjanExtended, StarGraphOutward) | |
| TEST (TarjanExtended, StarGraphInward) | |
| TEST (TarjanExtended, WheelGraph) | |
| TEST (TarjanExtended, BinaryTreeDAG) | |
| TEST (TarjanExtended, MultipleSelfLoops) | |
| TEST (TarjanExtended, ChainOfSCCs) | |
| TEST (TarjanExtended, DiamondPatternSCCs) | |
| TEST (TarjanExtended, BipartiteDAG) | |
| TEST (TarjanExtended, StronglyConnectedBipartite) | |
| TEST (TarjanExtended, GridDAG) | |
| TEST (TarjanExtended, GridWithCycles) | |
| TEST (TarjanExtended, DeepLinearChain) | |
| TEST (TarjanExtended, ConsistencyBetweenOverloads) | |
| TEST (TarjanExtended, CycleDetectionConsistency) | |
| TEST (TarjanExtended, LargeSCC) | |
| TEST (TarjanExtended, ManySmallSCCs) | |
| TEST (TarjanExtended, CyclePathDetails) | |
| TEST (TarjanExtended, EmptyGraphEdgeCases) | |
| TEST (TarjanExtended, ParallelArcs) | |
| TEST (TarjanExtended, TournamentGraph) | |
| TEST (TarjanExtended, DenseGraph) | |
| TEST (TarjanExtended, ComputeCycleNoCycle) | |
Tests for Tarjan.
Definition in file tarjan_test.cc.
| using TestDigraph = List_Digraph<Graph_Node<int>, Graph_Arc<int> > |
Definition at line 44 of file tarjan_test.cc.
| TestDigraph::Arc * add_arc | ( | TestDigraph & | g, |
| TestDigraph::Node * | src, | ||
| TestDigraph::Node * | tgt, | ||
| int | value = 0 |
||
| ) |
Definition at line 52 of file tarjan_test.cc.
Referenced by Aleph::Bellman_Ford< GT, Distance, Ait, NAit, SA >::create_dummy_node(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
| TestDigraph::Node * add_node | ( | TestDigraph & | g, |
| int | value | ||
| ) |
Definition at line 47 of file tarjan_test.cc.
Referenced by Aleph::planarity_detail::collect_certificate_nodes(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
| TEST | ( | TarjanExtended | , |
| BinaryTreeDAG | |||
| ) |
Definition at line 1032 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and nodes.
| TEST | ( | TarjanExtended | , |
| BipartiteDAG | |||
| ) |
Definition at line 1175 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| ChainOfSCCs | |||
| ) |
Definition at line 1091 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| ComputeCycleNoCycle | |||
| ) |
Definition at line 1629 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| ConsistencyBetweenOverloads | |||
| ) |
Definition at line 1333 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and Aleph::HTList::size().
| TEST | ( | TarjanExtended | , |
| CycleDetectionConsistency | |||
| ) |
Definition at line 1399 of file tarjan_test.cc.
References add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| CyclePathDetails | |||
| ) |
Definition at line 1484 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), Aleph::Path< GT >::get_first_node(), Aleph::Path< GT >::get_last_node(), and Aleph::Dlink::Iterator::has_curr().
| TEST | ( | TarjanExtended | , |
| DeepLinearChain | |||
| ) |
Definition at line 1311 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and nodes.
| TEST | ( | TarjanExtended | , |
| DenseGraph | |||
| ) |
Definition at line 1601 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), N, and nodes.
| TEST | ( | TarjanExtended | , |
| DiamondPatternSCCs | |||
| ) |
Definition at line 1131 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), l1, and l2.
| TEST | ( | TarjanExtended | , |
| EmptyGraphEdgeCases | |||
| ) |
Definition at line 1517 of file tarjan_test.cc.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::HTList::is_empty().
| TEST | ( | TarjanExtended | , |
| GridDAG | |||
| ) |
Definition at line 1238 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and r.
| TEST | ( | TarjanExtended | , |
| GridWithCycles | |||
| ) |
Definition at line 1271 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and r.
| TEST | ( | TarjanExtended | , |
| LargeSCC | |||
| ) |
Definition at line 1423 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), Aleph::DynList< T >::get_first(), N, nodes, and Aleph::HTList::size().
| TEST | ( | TarjanExtended | , |
| ManySmallSCCs | |||
| ) |
Definition at line 1457 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| MultipleSelfLoops | |||
| ) |
Definition at line 1068 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and N.
| TEST | ( | TarjanExtended | , |
| ParallelArcs | |||
| ) |
Definition at line 1540 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| StarGraphInward | |||
| ) |
Definition at line 980 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and N.
| TEST | ( | TarjanExtended | , |
| StarGraphOutward | |||
| ) |
Definition at line 956 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and N.
| TEST | ( | TarjanExtended | , |
| StronglyConnectedBipartite | |||
| ) |
Definition at line 1205 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanExtended | , |
| TournamentGraph | |||
| ) |
Definition at line 1569 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), N, nodes, and Aleph::Tarjan_Connected_Components< GT, Itor, SA >::num_connected_components().
| TEST | ( | TarjanExtended | , |
| WheelGraph | |||
| ) |
Definition at line 1002 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and N.
| TEST | ( | TarjanTest | , |
| CompleteDigraph | |||
| ) |
Definition at line 896 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), N, and nodes.
| TEST | ( | TarjanTest | , |
| ComplexNestedCycles | |||
| ) |
Definition at line 459 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), Aleph::Path< GT >::get_first_node(), and Aleph::Path< GT >::get_last_node().
| TEST | ( | TarjanTest | , |
| ComputeCycleFromSource | |||
| ) |
Definition at line 378 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| ComputeCycleInTestDigraphClass | |||
| ) |
Definition at line 404 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and Aleph::Path< GT >::is_empty().
| TEST | ( | TarjanTest | , |
| ConnectedComponentsWithArcs | |||
| ) |
Definition at line 330 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and Aleph::HTList::size().
| TEST | ( | TarjanTest | , |
| CustomArcFilter | |||
| ) |
Definition at line 773 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| CyclePathVerification | |||
| ) |
Definition at line 864 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), Aleph::Path< GT >::get_first_node(), Aleph::Path< GT >::get_last_node(), Aleph::Dlink::Iterator::has_curr(), and Aleph::Path< GT >::is_empty().
| TEST | ( | TarjanTest | , |
| DiamondDAG | |||
| ) |
Definition at line 433 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| DisconnectedComponents | |||
| ) |
Definition at line 523 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), and Aleph::HTList::size().
| TEST | ( | TarjanTest | , |
| DynDlistOverloads | |||
| ) |
Definition at line 496 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), and Aleph::Dlink::is_empty().
| TEST | ( | TarjanTest | , |
| EmptyGraph | |||
| ) |
Definition at line 61 of file tarjan_test.cc.
References Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), Aleph::HTList::is_empty(), and Aleph::Path< GT >::is_empty().
| TEST | ( | TarjanTest | , |
| FilterAccessor | |||
| ) |
Definition at line 701 of file tarjan_test.cc.
References Aleph::divide_and_conquer_partition_dp(), Aleph::filter(), and Aleph::Tarjan_Connected_Components< GT, Itor, SA >::get_filter().
| TEST | ( | TarjanTest | , |
| LargeCycle | |||
| ) |
Definition at line 576 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::DynList< T >::append(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), N, and nodes.
| TEST | ( | TarjanTest | , |
| LargeGraphStress | |||
| ) |
Definition at line 797 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::divide_and_conquer_partition_dp(), N, and nodes.
| TEST | ( | TarjanTest | , |
| LinearChain | |||
| ) |
Definition at line 229 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| MoveSemantics | |||
| ) |
Definition at line 738 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| MultipleDisjointCycles | |||
| ) |
Definition at line 826 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| MultipleSCCs | |||
| ) |
Definition at line 284 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), and Aleph::HTList::size().
| TEST | ( | TarjanTest | , |
| NullSourceValidation | |||
| ) |
Definition at line 687 of file tarjan_test.cc.
References add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| NumConnectedComponents | |||
| ) |
Definition at line 659 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| ReuseInstance | |||
| ) |
Definition at line 922 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| SCCTree | |||
| ) |
Definition at line 614 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| SimpleCycle | |||
| ) |
Definition at line 254 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), Aleph::Path< GT >::get_first_node(), and Aleph::Path< GT >::get_last_node().
| TEST | ( | TarjanTest | , |
| SingleNodeNoLoop | |||
| ) |
Definition at line 93 of file tarjan_test.cc.
References add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), Aleph::DynList< T >::get_first(), and Aleph::HTList::size().
| TEST | ( | TarjanTest | , |
| SingleNodeWithLoop | |||
| ) |
Definition at line 129 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), Aleph::Path< GT >::get_first_node(), Aleph::Path< GT >::get_last_node(), and Aleph::Path< GT >::is_empty().
| TEST | ( | TarjanTest | , |
| StateGetters | |||
| ) |
Definition at line 715 of file tarjan_test.cc.
References add_arc(), add_node(), and Aleph::divide_and_conquer_partition_dp().
| TEST | ( | TarjanTest | , |
| TwoNodesNoCycle | |||
| ) |
Definition at line 163 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), and Aleph::HTList::size().
| TEST | ( | TarjanTest | , |
| TwoNodesWithCycle | |||
| ) |
Definition at line 197 of file tarjan_test.cc.
References add_arc(), add_node(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::divide_and_conquer_partition_dp(), Aleph::Path< GT >::get_first_node(), Aleph::Path< GT >::get_last_node(), and Aleph::Path< GT >::is_empty().