Executed features | Passed | Failures | Errors | Skipped | Success rate | Time |
---|---|---|---|---|---|---|
5 | 5 | 0 | 0 | 0 | 100.0% | 0.032 seconds |
Generic Graph
A generic implementation of Graph structure
should return edges for a given node
Return
(0)
|
||||||||||||||||||||||||||||
Given:
|
a simple graph with three nodes
|
|||||||||||||||||||||||||||
def graph = Graph.of([ A: [B: 7, C: 2], B: [A: 3, C: 5], C: [A: 1, B: 3] ]) |
||||||||||||||||||||||||||||
Expect:
|
The method returns expected edges for given node
|
|||||||||||||||||||||||||||
graph.edges(node) == expected |
||||||||||||||||||||||||||||
Examples:
|
|
3/3 passed
|
||||||||||||||||||||||||||
should calculate distance for a path
Return
(0)
|
||||||||||||||||||||||||||||
Given:
|
a complex graph with eight nodes
|
|||||||||||||||||||||||||||
def graph = Graph.of([ A: [B: 5, H: 2], B: [A: 5, C: 7], C: [B: 7, D: 3, G: 4], D: [C: 20, E: 4], E: [F: 5], F: [G: 6], G: [C: 4], H: [G: 3] ]) |
||||||||||||||||||||||||||||
Expect:
|
the distance for a path correctly calculated
|
|||||||||||||||||||||||||||
graph.getDistance(path) == distance as double |
||||||||||||||||||||||||||||
Where:
|
path and expected distance
|
|||||||||||||||||||||||||||
Examples:
|
|
8/8 passed
|
||||||||||||||||||||||||||
should be zero distance for an empty path
Return
(0.020 seconds)
|
||||||||||||||||||||||||||||
Given:
|
any graph
|
|||||||||||||||||||||||||||
def graph = Graph.of(_ as Map) |
||||||||||||||||||||||||||||
Expect:
|
the distance is zero for an empty path
|
|||||||||||||||||||||||||||
graph.getDistance([]) == 0 |
||||||||||||||||||||||||||||
should be zero distance for any one node path
Return
(0)
|
||||||||||||||||||||||||||||
Given:
|
any graph
|
|||||||||||||||||||||||||||
def graph = Graph.of(_ as Map) |
||||||||||||||||||||||||||||
Expect:
|
the zero distance for any one-node path
|
|||||||||||||||||||||||||||
graph.getDistance(oneNodePath) == 0 |
||||||||||||||||||||||||||||
Where:
|
the node may be of any type and even non-existent
|
|||||||||||||||||||||||||||
Examples:
|
|
5/5 passed
|
||||||||||||||||||||||||||
should throw NPE for incorrect path
Return
(0)
|
||||||||||||||||||||||||||||
Given:
|
a medium graph with five nodes
|
|||||||||||||||||||||||||||
def graph = Graph.of([ A: [B: 5], B: [A: 5, C: 10], C: [B: 20, D: 5], D: [E: 5], E: [B: 5] ]) |
||||||||||||||||||||||||||||
When:
|
we call the method with incorrect path
|
|||||||||||||||||||||||||||
graph.getDistance(incorrectPath) |
||||||||||||||||||||||||||||
Then:
|
the NPE thrown
|
|||||||||||||||||||||||||||
thrown NullPointerException |
||||||||||||||||||||||||||||
Where:
|
path is more then one node
|
|||||||||||||||||||||||||||
Examples:
|
|
3/3 passed
|