Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
graph_traverse_generators_test.cc File Reference

Tests for lazy graph traversal (graph-traverse-generators.H). More...

#include <set>
#include <stdexcept>
#include <type_traits>
#include <vector>
#include <gtest/gtest.h>
#include <graph-traverse-generators.H>
#include <graph-traverse.H>
#include <tpl_graph.H>
Include dependency graph for graph_traverse_generators_test.cc:

Go to the source code of this file.

Typedefs

using BfsGen = Graph_Traverse_BFS_Generator< TestGraph, Itor >
 

Functions

 TEST (GraphTraverseGenerators, SingleNodeGraph)
 
 TEST (GraphTraverseGenerators, NullStartThrowsInvalidArgument)
 
 TEST (GraphTraverseGenerators, BfsVisitsAllReachableNodesExactlyOnce)
 
 TEST (GraphTraverseGenerators, BfsOrderMatchesEagerBfsOrder)
 
 TEST (GraphTraverseGenerators, DfsOrderMatchesEagerDfsOrder)
 
 TEST (GraphTraverseGenerators, DisconnectedGraphOnlyVisitsReachableComponent)
 
 TEST (GraphTraverseGenerators, EarlyBreakStopsTraversal)
 
 TEST (GraphTraverseGenerators, SelfLoopAtStartNodeYieldsOnce)
 
 TEST (GraphTraverseGenerators, SelfLoopMidTraversalYieldsOnce)
 
 TEST (GraphTraverseGenerators, CyclicGraphTerminates)
 
 TEST (GraphTraverseGenerators, DigraphRespectsArcDirection)
 

Detailed Description

Tests for lazy graph traversal (graph-traverse-generators.H).

Property tests comparing Graph_Traverse_BFS_Generator/ Graph_Traverse_DFS_Generator against the eager Graph_Traverse_BFS/ Graph_Traverse_DFS from graph-traverse.H: same set of visited nodes, same count, and (for BFS) the same level-by-level order. Also covers a single-node graph, a disconnected graph (unreachable nodes are not visited), early break, and a digraph.

Definition in file graph_traverse_generators_test.cc.

Typedef Documentation

◆ BfsGen

Function Documentation

◆ TEST() [1/11]

TEST ( GraphTraverseGenerators  ,
BfsOrderMatchesEagerBfsOrder   
)

◆ TEST() [2/11]

TEST ( GraphTraverseGenerators  ,
BfsVisitsAllReachableNodesExactlyOnce   
)

◆ TEST() [3/11]

◆ TEST() [4/11]

TEST ( GraphTraverseGenerators  ,
DfsOrderMatchesEagerDfsOrder   
)

◆ TEST() [5/11]

TEST ( GraphTraverseGenerators  ,
DigraphRespectsArcDirection   
)

◆ TEST() [6/11]

◆ TEST() [7/11]

TEST ( GraphTraverseGenerators  ,
EarlyBreakStopsTraversal   
)

◆ TEST() [8/11]

TEST ( GraphTraverseGenerators  ,
NullStartThrowsInvalidArgument   
)

◆ TEST() [9/11]

◆ TEST() [10/11]

◆ TEST() [11/11]