Package org.testng.internal
Class Graph<T>
java.lang.Object
org.testng.internal.Graph<T>
Simple graph class to implement topological sort (used to sort methods based on what groups they
depend on).
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Comparator<Graph.Node<T>>
private Map<T,
Graph.Node<T>> private final Map<T,
Graph.Node<T>> private static final boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addNeighbor
(T tm, T predecessor) void
void
addPredecessor
(T tm, T predecessor) private void
private Graph.Node<T>
private Graph.Node<T>
findNodeWithNoPredecessors
(List<Graph.Node<T>> nodes) private Collection<Graph.Node<T>>
getNodes()
getPredecessors
(T node) private void
boolean
isIndependent
(T object) private static void
private void
removeFromNodes
(List<Graph.Node<T>> nodes, Graph.Node<T> node) Remove a node from a list of nodes and update the list of predecessors for all the remaining nodes.void
toString()
-
Field Details
-
m_verbose
private static final boolean m_verbose- See Also:
-
m_nodes
-
m_strictlySortedNodes
-
comparator
-
m_independentNodes
-
-
Constructor Details
-
Graph
-
-
Method Details
-
addNode
-
getPredecessors
-
isIndependent
-
findNode
-
addPredecessor
-
addNeighbor
-
getNodes
-
getIndependentNodes
- Returns:
- All the nodes that don't have any order with each other.
-
getStrictlySortedNodes
- Returns:
- All the nodes that have an order with each other, sorted in one of the valid sorts.
-
topologicalSort
public void topologicalSort() -
initializeIndependentNodes
private void initializeIndependentNodes() -
dumpSortedNodes
private void dumpSortedNodes() -
removeFromNodes
Remove a node from a list of nodes and update the list of predecessors for all the remaining nodes. -
ppp
-
findNodeWithNoPredecessors
-
findPredecessors
- Parameters:
o
- - The predecessor- Returns:
- A list of all the predecessors for o
-
toString
-