TreeIterables
public final class TreeIterables
Utility methods for iterating over tree structured items.
Since the view hierarchy is a tree - having a method of iterating over its contents is useful.
This is generalized for any object which can display tree like qualities - but this generalization was done for testability concerns (since creating View hierarchies is a pain).
Only public methods of this utility class are considered public API of the test framework.
Summary
Nested types |
|---|
public class TreeIterables.ViewAndDistanceRepresents the distance a given view is from the root view. |
Public methods |
|
|---|---|
static Iterable<View> |
Returns an iterable which iterates thru the provided view and its children in a breadth-first, row-level-order traversal. |
static Iterable<View> |
depthFirstViewTraversal(View root)Returns an iterable which iterates thru the provided view and its children in a depth-first, in-order traversal. |
static Iterable<TreeIterables.ViewAndDistance> |
Creates an iterable that traverses the tree formed by the given root. |
Public methods
breadthFirstViewTraversal
public static Iterable<View> breadthFirstViewTraversal(View root)
Returns an iterable which iterates thru the provided view and its children in a breadth-first, row-level-order traversal. That is to say that for a view such as: Root / | \ A R U /| |\ B D G N Will be iterated: Root, A, R, U, B, D, G, N
| Parameters | |
|---|---|
View root |
the non-null, root view. |
depthFirstViewTraversal
public static Iterable<View> depthFirstViewTraversal(View root)
Returns an iterable which iterates thru the provided view and its children in a depth-first, in-order traversal. That is to say that for a view such as: Root / | \ A R U /| |\ B D G N Will be iterated: Root, A, B, D, R, G, N, U.
| Parameters | |
|---|---|
View root |
the non-null, root view. |
depthFirstViewTraversalWithDistance
public static Iterable<TreeIterables.ViewAndDistance> depthFirstViewTraversalWithDistance(View root)
Creates an iterable that traverses the tree formed by the given root.
Along with iteration order, the distance from the root element is also tracked.
| Parameters | |
|---|---|
View root |
the root view to track from. |
| Returns | |
|---|---|
Iterable<TreeIterables.ViewAndDistance> |
An iterable of ViewAndDistance containing the view tree in a depth first order with the distance of a given node from the root. |