From 57048d41601b4a415368c0cff85a3874b51eef76 Mon Sep 17 00:00:00 2001 From: Jegors Cemisovs Date: Tue, 4 Jan 2022 18:39:52 +0200 Subject: [PATCH] Updated reports --- docs/api/allclasses-index.html | 4 +- docs/api/allpackages-index.html | 4 +- docs/api/help-doc.html | 4 +- docs/api/index-files/index-1.html | 4 +- docs/api/index-files/index-2.html | 4 +- docs/api/index-files/index-3.html | 4 +- docs/api/index-files/index-4.html | 4 +- docs/api/index-files/index-5.html | 4 +- docs/api/index-files/index-6.html | 4 +- docs/api/index-files/index-7.html | 4 +- docs/api/index-files/index-8.html | 6 +- docs/api/index.html | 4 +- .../algorithm/graph/BreadthFirstSearch.html | 4 +- .../algorithm/graph/DijkstrasAlgorithm.html | 4 +- .../lv/id/jc/algorithm/graph/Graph.html | 11 +- .../jc/algorithm/graph/SearchAlgorithm.html | 4 +- .../graph/class-use/BreadthFirstSearch.html | 4 +- .../graph/class-use/DijkstrasAlgorithm.html | 4 +- .../jc/algorithm/graph/class-use/Graph.html | 4 +- .../graph/class-use/SearchAlgorithm.html | 4 +- .../jc/algorithm/graph/package-summary.html | 4 +- .../id/jc/algorithm/graph/package-tree.html | 4 +- .../lv/id/jc/algorithm/graph/package-use.html | 4 +- .../module-summary.html | 4 +- docs/api/overview-tree.html | 4 +- docs/coverage/index.html | 2 +- docs/coverage/index_SORT_BY_BLOCK.html | 2 +- docs/coverage/index_SORT_BY_BLOCK_DESC.html | 2 +- docs/coverage/index_SORT_BY_CLASS.html | 2 +- docs/coverage/index_SORT_BY_CLASS_DESC.html | 2 +- docs/coverage/index_SORT_BY_LINE.html | 2 +- docs/coverage/index_SORT_BY_LINE_DESC.html | 2 +- docs/coverage/index_SORT_BY_METHOD.html | 2 +- docs/coverage/index_SORT_BY_METHOD_DESC.html | 2 +- docs/coverage/index_SORT_BY_NAME_DESC.html | 2 +- docs/coverage/ns-1/index.html | 2 +- docs/coverage/ns-1/index_SORT_BY_BLOCK.html | 2 +- .../ns-1/index_SORT_BY_BLOCK_DESC.html | 2 +- docs/coverage/ns-1/index_SORT_BY_CLASS.html | 2 +- .../ns-1/index_SORT_BY_CLASS_DESC.html | 2 +- docs/coverage/ns-1/index_SORT_BY_LINE.html | 2 +- .../ns-1/index_SORT_BY_LINE_DESC.html | 2 +- docs/coverage/ns-1/index_SORT_BY_METHOD.html | 2 +- .../ns-1/index_SORT_BY_METHOD_DESC.html | 2 +- .../ns-1/index_SORT_BY_NAME_DESC.html | 2 +- docs/coverage/ns-1/sources/source-1.html | 2 +- docs/coverage/ns-1/sources/source-2.html | 2 +- docs/coverage/ns-1/sources/source-3.html | 104 +++++++++--------- docs/coverage/ns-1/sources/source-4.html | 2 +- docs/index.md | 12 +- docs/spock-reports/aggregated_report.json | 2 +- .../graph.BreadthFirstSearchSpec.html | 4 +- .../graph.DijkstrasAlgorithmSpec.html | 4 +- docs/spock-reports/graph.GraphSpec.html | 4 +- .../graph.SearchAlgorithmSpec.html | 4 +- docs/spock-reports/index.html | 14 +-- docs/spock-reports/summary.md | 23 ++++ .../java/lv/id/jc/algorithm/graph/Graph.java | 5 +- src/test/resources/SpockConfig.groovy | 6 +- 59 files changed, 184 insertions(+), 153 deletions(-) create mode 100644 docs/spock-reports/summary.md diff --git a/docs/api/allclasses-index.html b/docs/api/allclasses-index.html index 81b40a4..55a7bac 100644 --- a/docs/api/allclasses-index.html +++ b/docs/api/allclasses-index.html @@ -1,11 +1,11 @@ - + All Classes and Interfaces - + diff --git a/docs/api/allpackages-index.html b/docs/api/allpackages-index.html index ef84aa8..199c752 100644 --- a/docs/api/allpackages-index.html +++ b/docs/api/allpackages-index.html @@ -1,11 +1,11 @@ - + All Packages - + diff --git a/docs/api/help-doc.html b/docs/api/help-doc.html index 9c8f74d..2a1d43d 100644 --- a/docs/api/help-doc.html +++ b/docs/api/help-doc.html @@ -1,11 +1,11 @@ - + API Help - + diff --git a/docs/api/index-files/index-1.html b/docs/api/index-files/index-1.html index 2e97f53..daa6c34 100644 --- a/docs/api/index-files/index-1.html +++ b/docs/api/index-files/index-1.html @@ -1,11 +1,11 @@ - + B-Index - + diff --git a/docs/api/index-files/index-2.html b/docs/api/index-files/index-2.html index 021b398..81a6b1e 100644 --- a/docs/api/index-files/index-2.html +++ b/docs/api/index-files/index-2.html @@ -1,11 +1,11 @@ - + D-Index - + diff --git a/docs/api/index-files/index-3.html b/docs/api/index-files/index-3.html index 97d6f78..3ccac3b 100644 --- a/docs/api/index-files/index-3.html +++ b/docs/api/index-files/index-3.html @@ -1,11 +1,11 @@ - + E-Index - + diff --git a/docs/api/index-files/index-4.html b/docs/api/index-files/index-4.html index edbb765..883eb9c 100644 --- a/docs/api/index-files/index-4.html +++ b/docs/api/index-files/index-4.html @@ -1,11 +1,11 @@ - + F-Index - + diff --git a/docs/api/index-files/index-5.html b/docs/api/index-files/index-5.html index 756ab16..8a10798 100644 --- a/docs/api/index-files/index-5.html +++ b/docs/api/index-files/index-5.html @@ -1,11 +1,11 @@ - + G-Index - + diff --git a/docs/api/index-files/index-6.html b/docs/api/index-files/index-6.html index 8c79cff..692cd3a 100644 --- a/docs/api/index-files/index-6.html +++ b/docs/api/index-files/index-6.html @@ -1,11 +1,11 @@ - + L-Index - + diff --git a/docs/api/index-files/index-7.html b/docs/api/index-files/index-7.html index 9c68a87..7eb8e27 100644 --- a/docs/api/index-files/index-7.html +++ b/docs/api/index-files/index-7.html @@ -1,11 +1,11 @@ - + O-Index - + diff --git a/docs/api/index-files/index-8.html b/docs/api/index-files/index-8.html index a43e6da..9182987 100644 --- a/docs/api/index-files/index-8.html +++ b/docs/api/index-files/index-8.html @@ -1,11 +1,11 @@ - + S-Index - + @@ -56,7 +56,7 @@

S

schema() - Method in interface lv.id.jc.algorithm.graph.Graph
-
Schema of the graph.
+
The schema of this graph.
SearchAlgorithm<T> - Interface in lv.id.jc.algorithm.graph
diff --git a/docs/api/index.html b/docs/api/index.html index 25a9d87..ab284f5 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -1,11 +1,11 @@ - + Generated Documentation (Untitled) - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/BreadthFirstSearch.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/BreadthFirstSearch.html index 03d0c83..9786ad2 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/BreadthFirstSearch.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/BreadthFirstSearch.html @@ -1,11 +1,11 @@ - + BreadthFirstSearch - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/DijkstrasAlgorithm.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/DijkstrasAlgorithm.html index f60a416..9f18cd7 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/DijkstrasAlgorithm.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/DijkstrasAlgorithm.html @@ -1,11 +1,11 @@ - + DijkstrasAlgorithm - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/Graph.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/Graph.html index 9fa0c51..6a70d92 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/Graph.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/Graph.html @@ -1,11 +1,11 @@ - + Graph - + @@ -123,7 +123,7 @@

Method Summary

-
Schema of the graph.
+
The schema of this graph.
@@ -143,7 +143,10 @@

Method Details

schema

Map<T,Map<T,Number>> schema()
-
Schema of the graph.
+
The schema of this graph. + + In a graph schema, each vertex is assigned an edge map. + If the vertex has no edges, then it should be assigned an empty map.
Returns:
the graph scheme
diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/SearchAlgorithm.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/SearchAlgorithm.html index 370347e..388faf7 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/SearchAlgorithm.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/SearchAlgorithm.html @@ -1,11 +1,11 @@ - + SearchAlgorithm - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/BreadthFirstSearch.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/BreadthFirstSearch.html index 0901bff..851c94d 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/BreadthFirstSearch.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/BreadthFirstSearch.html @@ -1,11 +1,11 @@ - + Uses of Class lv.id.jc.algorithm.graph.BreadthFirstSearch - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/DijkstrasAlgorithm.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/DijkstrasAlgorithm.html index 14f76a9..aceb338 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/DijkstrasAlgorithm.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/DijkstrasAlgorithm.html @@ -1,11 +1,11 @@ - + Uses of Class lv.id.jc.algorithm.graph.DijkstrasAlgorithm - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/Graph.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/Graph.html index 0a4c388..9518eb0 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/Graph.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/Graph.html @@ -1,11 +1,11 @@ - + Uses of Interface lv.id.jc.algorithm.graph.Graph - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/SearchAlgorithm.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/SearchAlgorithm.html index 432f1a0..943c11b 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/SearchAlgorithm.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/class-use/SearchAlgorithm.html @@ -1,11 +1,11 @@ - + Uses of Interface lv.id.jc.algorithm.graph.SearchAlgorithm - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-summary.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-summary.html index c55de47..10bc727 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-summary.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-summary.html @@ -1,11 +1,11 @@ - + lv.id.jc.algorithm.graph - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-tree.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-tree.html index 0e73990..2ba5abe 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-tree.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-tree.html @@ -1,11 +1,11 @@ - + lv.id.jc.algorithm.graph Class Hierarchy - + diff --git a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-use.html b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-use.html index 0c9a9b8..96fb0db 100644 --- a/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-use.html +++ b/docs/api/lv.id.jc.algorithm.graph/lv/id/jc/algorithm/graph/package-use.html @@ -1,11 +1,11 @@ - + Uses of Package lv.id.jc.algorithm.graph - + diff --git a/docs/api/lv.id.jc.algorithm.graph/module-summary.html b/docs/api/lv.id.jc.algorithm.graph/module-summary.html index 710587c..56d0c28 100644 --- a/docs/api/lv.id.jc.algorithm.graph/module-summary.html +++ b/docs/api/lv.id.jc.algorithm.graph/module-summary.html @@ -1,11 +1,11 @@ - + lv.id.jc.algorithm.graph - + diff --git a/docs/api/overview-tree.html b/docs/api/overview-tree.html index f96c0ac..6e58db4 100644 --- a/docs/api/overview-tree.html +++ b/docs/api/overview-tree.html @@ -1,11 +1,11 @@ - + Class Hierarchy - + diff --git a/docs/coverage/index.html b/docs/coverage/index.html index 7274b19..356b158 100644 --- a/docs/coverage/index.html +++ b/docs/coverage/index.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_BLOCK.html b/docs/coverage/index_SORT_BY_BLOCK.html index e872da6..2bb220c 100644 --- a/docs/coverage/index_SORT_BY_BLOCK.html +++ b/docs/coverage/index_SORT_BY_BLOCK.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_BLOCK_DESC.html b/docs/coverage/index_SORT_BY_BLOCK_DESC.html index 3a88aea..f4e0eb6 100644 --- a/docs/coverage/index_SORT_BY_BLOCK_DESC.html +++ b/docs/coverage/index_SORT_BY_BLOCK_DESC.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_CLASS.html b/docs/coverage/index_SORT_BY_CLASS.html index 80a5f4a..e4b1f20 100644 --- a/docs/coverage/index_SORT_BY_CLASS.html +++ b/docs/coverage/index_SORT_BY_CLASS.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_CLASS_DESC.html b/docs/coverage/index_SORT_BY_CLASS_DESC.html index 8d9dfe3..479c3f3 100644 --- a/docs/coverage/index_SORT_BY_CLASS_DESC.html +++ b/docs/coverage/index_SORT_BY_CLASS_DESC.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_LINE.html b/docs/coverage/index_SORT_BY_LINE.html index e5c862e..8e8079c 100644 --- a/docs/coverage/index_SORT_BY_LINE.html +++ b/docs/coverage/index_SORT_BY_LINE.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_LINE_DESC.html b/docs/coverage/index_SORT_BY_LINE_DESC.html index d009edb..417cb2d 100644 --- a/docs/coverage/index_SORT_BY_LINE_DESC.html +++ b/docs/coverage/index_SORT_BY_LINE_DESC.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_METHOD.html b/docs/coverage/index_SORT_BY_METHOD.html index c480d1d..b7b1443 100644 --- a/docs/coverage/index_SORT_BY_METHOD.html +++ b/docs/coverage/index_SORT_BY_METHOD.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_METHOD_DESC.html b/docs/coverage/index_SORT_BY_METHOD_DESC.html index 80e7db5..3cb8fd7 100644 --- a/docs/coverage/index_SORT_BY_METHOD_DESC.html +++ b/docs/coverage/index_SORT_BY_METHOD_DESC.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/index_SORT_BY_NAME_DESC.html b/docs/coverage/index_SORT_BY_NAME_DESC.html index fbd61ec..bd45b4e 100644 --- a/docs/coverage/index_SORT_BY_NAME_DESC.html +++ b/docs/coverage/index_SORT_BY_NAME_DESC.html @@ -136,7 +136,7 @@

Coverage Breakdown

diff --git a/docs/coverage/ns-1/index.html b/docs/coverage/ns-1/index.html index e89a602..fcdd0df 100644 --- a/docs/coverage/ns-1/index.html +++ b/docs/coverage/ns-1/index.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_BLOCK.html b/docs/coverage/ns-1/index_SORT_BY_BLOCK.html index f03c23e..0372b35 100644 --- a/docs/coverage/ns-1/index_SORT_BY_BLOCK.html +++ b/docs/coverage/ns-1/index_SORT_BY_BLOCK.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_BLOCK_DESC.html b/docs/coverage/ns-1/index_SORT_BY_BLOCK_DESC.html index e97d088..7f00dd5 100644 --- a/docs/coverage/ns-1/index_SORT_BY_BLOCK_DESC.html +++ b/docs/coverage/ns-1/index_SORT_BY_BLOCK_DESC.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_CLASS.html b/docs/coverage/ns-1/index_SORT_BY_CLASS.html index 8d130b9..177cfc3 100644 --- a/docs/coverage/ns-1/index_SORT_BY_CLASS.html +++ b/docs/coverage/ns-1/index_SORT_BY_CLASS.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_CLASS_DESC.html b/docs/coverage/ns-1/index_SORT_BY_CLASS_DESC.html index a7ed941..b324c6e 100644 --- a/docs/coverage/ns-1/index_SORT_BY_CLASS_DESC.html +++ b/docs/coverage/ns-1/index_SORT_BY_CLASS_DESC.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_LINE.html b/docs/coverage/ns-1/index_SORT_BY_LINE.html index 4c2d16f..aeaa32d 100644 --- a/docs/coverage/ns-1/index_SORT_BY_LINE.html +++ b/docs/coverage/ns-1/index_SORT_BY_LINE.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_LINE_DESC.html b/docs/coverage/ns-1/index_SORT_BY_LINE_DESC.html index d550fe6..e987992 100644 --- a/docs/coverage/ns-1/index_SORT_BY_LINE_DESC.html +++ b/docs/coverage/ns-1/index_SORT_BY_LINE_DESC.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_METHOD.html b/docs/coverage/ns-1/index_SORT_BY_METHOD.html index 2c8c2fb..717428c 100644 --- a/docs/coverage/ns-1/index_SORT_BY_METHOD.html +++ b/docs/coverage/ns-1/index_SORT_BY_METHOD.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_METHOD_DESC.html b/docs/coverage/ns-1/index_SORT_BY_METHOD_DESC.html index 14c3bd5..412bebc 100644 --- a/docs/coverage/ns-1/index_SORT_BY_METHOD_DESC.html +++ b/docs/coverage/ns-1/index_SORT_BY_METHOD_DESC.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/index_SORT_BY_NAME_DESC.html b/docs/coverage/ns-1/index_SORT_BY_NAME_DESC.html index e4947dd..bfea1c0 100644 --- a/docs/coverage/ns-1/index_SORT_BY_NAME_DESC.html +++ b/docs/coverage/ns-1/index_SORT_BY_NAME_DESC.html @@ -192,7 +192,7 @@

Coverage Summary for Package: lv.id.jc.algorithm.graph

diff --git a/docs/coverage/ns-1/sources/source-1.html b/docs/coverage/ns-1/sources/source-1.html index b31c15b..b805217 100644 --- a/docs/coverage/ns-1/sources/source-1.html +++ b/docs/coverage/ns-1/sources/source-1.html @@ -147,7 +147,7 @@

Coverage Summary for Class: BreadthFirstSearch (lv.id.jc.algorithm.graph) -
generated on 2022-01-03 21:07
+
generated on 2022-01-04 18:33
diff --git a/docs/coverage/ns-1/sources/source-2.html b/docs/coverage/ns-1/sources/source-2.html index e05f805..1659e05 100644 --- a/docs/coverage/ns-1/sources/source-2.html +++ b/docs/coverage/ns-1/sources/source-2.html @@ -147,7 +147,7 @@

Coverage Summary for Class: DijkstrasAlgorithm (lv.id.jc.algorithm.graph) -
generated on 2022-01-03 21:07
+
generated on 2022-01-04 18:33
diff --git a/docs/coverage/ns-1/sources/source-3.html b/docs/coverage/ns-1/sources/source-3.html index 54380b1..9cdcae1 100644 --- a/docs/coverage/ns-1/sources/source-3.html +++ b/docs/coverage/ns-1/sources/source-3.html @@ -104,58 +104,56 @@

Coverage Summary for Class: Graph (lv.id.jc.algorithm.graph)

16  /** 17  * Schema of the graph. 18  * -19  -20  * -21  * @return the graph scheme -22  */ -23  Map<T, Map<T, Number>> schema(); -24  -25  /** -26  * Returns the edges of the given vertex, -27  * or {@code null} if this graph contains no given vertex. -28  * -29  * <p>A return value of {@code null} does not <i>necessarily</i> -30  * indicate that the specified vertex is not present in the graph; -31  * it's also possible that in the graph schema, {@code null} was specified -32  * for the edges of this vertex instead of an empty map. -33  * -34  * @param vertex vertex -35  * @return all links for the given vertex -36  * or null if no such vertex in the graph -37  */ -38  default Map<T, Number> edges(T vertex) { -39  return schema().get(vertex); -40  } -41  -42  /** -43  * Calculate the distance for the given path -44  * -45  * @param path the list of vertices representing the path -46  * @return distance for the given path as double -47  * @throws NullPointerException if {@code path} is incorrect and contains more than one vertex -48  */ -49  default double getDistance(List<T> path) { -50  return IntStream -51  .range(1, path.size()) -52  .mapToObj(i -> edges(path.get(i - 1)).get(path.get(i))) -53  .mapToDouble(Number::doubleValue) -54  .sum(); -55  } -56  -57  /** -58  * Creates a Graph object by given schema. -59  * -60  * In a graph schema, each vertex is assigned an edge map. -61  * If the vertex has no edges, then it should be assigned an empty map. -62  * -63  * @param schema of the graph -64  * @param <T> the type of vertex in this graph -65  * @return graph object with given schema -66  */ -67  static <T> Graph<T> of(Map<T, Map<T, Number>> schema) { -68  return () -> schema; -69  } -70 } +19  * @return the graph scheme +20  */ +21  Map<T, Map<T, Number>> schema(); +22  +23  /** +24  * Returns the edges of the given vertex, +25  * or {@code null} if this graph contains no given vertex. +26  * +27  * <p>A return value of {@code null} does not <i>necessarily</i> +28  * indicate that the specified vertex is not present in the graph; +29  * it's also possible that in the graph schema, {@code null} was specified +30  * for the edges of this vertex instead of an empty map. +31  * +32  * @param vertex vertex +33  * @return all links for the given vertex +34  * or null if no such vertex in the graph +35  */ +36  default Map<T, Number> edges(T vertex) { +37  return schema().get(vertex); +38  } +39  +40  /** +41  * Calculate the distance for the given path +42  * +43  * @param path the list of vertices representing the path +44  * @return distance for the given path as double +45  * @throws NullPointerException if {@code path} is incorrect and contains more than one vertex +46  */ +47  default double getDistance(List<T> path) { +48  return IntStream +49  .range(1, path.size()) +50  .mapToObj(i -> edges(path.get(i - 1)).get(path.get(i))) +51  .mapToDouble(Number::doubleValue) +52  .sum(); +53  } +54  +55  /** +56  * Creates a Graph object by given schema. +57  * +58  * In a graph schema, each vertex is assigned an edge map. +59  * If the vertex has no edges, then it should be assigned an empty map. +60  * +61  * @param schema of the graph +62  * @param <T> the type of vertex in this graph +63  * @return graph object with given schema +64  */ +65  static <T> Graph<T> of(Map<T, Map<T, Number>> schema) { +66  return () -> schema; +67  } +68 } @@ -182,7 +180,7 @@

Coverage Summary for Class: Graph (lv.id.jc.algorithm.graph)

diff --git a/docs/coverage/ns-1/sources/source-4.html b/docs/coverage/ns-1/sources/source-4.html index ac9c105..790b89a 100644 --- a/docs/coverage/ns-1/sources/source-4.html +++ b/docs/coverage/ns-1/sources/source-4.html @@ -89,7 +89,7 @@

Coverage Summary for Class: SearchAlgorithm (lv.id.jc.algorithm.graph)

diff --git a/docs/index.md b/docs/index.md index ef96e35..d12273c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -65,11 +65,11 @@ Tests are written in Groove language. For unit testing, the [Spock Framework](ht ### Small Graph Sample ```groovy - def graph = Graph.of [ + def graph = Graph.of([ A: [B: 7, C: 2], B: [A: 3, C: 5], C: [A: 1, B: 3] - ] + ]) ``` ![Small Graph](assets/small.gif) @@ -78,13 +78,13 @@ Tests are written in Groove language. For unit testing, the [Spock Framework](ht ### Medium Graph Sample ```groovy - def graph = Graph.of [ + def graph = Graph.of([ A: [B: 5], B: [A: 5, C: 10], C: [B: 20, D: 5], D: [E: 5], E: [B: 5] - ] + ]) ``` ![Medium Graph](assets/medium.gif) @@ -92,7 +92,7 @@ Tests are written in Groove language. For unit testing, the [Spock Framework](ht ### Complex Graph Sample ```groovy - def graph = Graph.of [ + def graph = Graph.of([ A: [B: 5, H: 2], B: [A: 5, C: 7], C: [B: 7, D: 3, G: 4], @@ -101,7 +101,7 @@ Tests are written in Groove language. For unit testing, the [Spock Framework](ht F: [G: 6], G: [C: 4], H: [G: 3] - ] + ]) ``` ![Complex Graph](assets/complex.gif) diff --git a/docs/spock-reports/aggregated_report.json b/docs/spock-reports/aggregated_report.json index 5fe1e2c..cba2236 100644 --- a/docs/spock-reports/aggregated_report.json +++ b/docs/spock-reports/aggregated_report.json @@ -1 +1 @@ -{"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":162},"title":"","narrative":""},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":46},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":66},"title":"","narrative":""},"graph.GraphSpec":{"executedFeatures":["should calculate distance"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":19},"title":"","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":133},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":40},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":67},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":125},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":115},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":43},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":127},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":136},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":44},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":80},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":112},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":204},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":61},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":74},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":154},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should returns an empty path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":1,"totalFeatures":4,"passed":0,"successRate":0.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":4,"passed":1,"successRate":1.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":5,"passed":0,"successRate":0.0,"time":54},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":3,"passed":1,"successRate":1.0,"time":31},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":62},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":3,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":2,"successRate":0.4,"time":47},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":48},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":0,"successRate":0.0,"time":10},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":3,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":2,"successRate":0.4,"time":96},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":69},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":69},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":3,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":0,"successRate":0.0,"time":62},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":4,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":0,"successRate":0.0,"time":46},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":54},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":0,"successRate":0.0,"time":0},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":78},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":84},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":85},"title":"Comparison of two algorithms","narrative":""},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":116},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":68},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":17},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":54},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":4,"successRate":0.8,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":53},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":5,"passed":0,"successRate":0.0,"time":47},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":5,"passed":1,"successRate":1.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":63},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":16},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":3,"successRate":0.75,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":4,"successRate":0.8,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":38},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":7},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":63},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":37},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":78},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":23},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":0},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":70},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":22},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":37},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":3},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":71},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":23},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":45},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":11},"title":"Comparison of two algorithms","narrative":""}} \ No newline at end of file +{"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":162},"title":"","narrative":""},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":46},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":66},"title":"","narrative":""},"graph.GraphSpec":{"executedFeatures":["should calculate distance"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":19},"title":"","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":133},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":40},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":67},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":125},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":115},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":43},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":127},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":136},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":44},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":80},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":112},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":2,"totalFeatures":2,"passed":2,"successRate":1.0,"time":204},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":61},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":74},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":154},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should returns an empty path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":1,"totalFeatures":4,"passed":0,"successRate":0.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":4,"passed":1,"successRate":1.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":5,"passed":0,"successRate":0.0,"time":54},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":3,"passed":1,"successRate":1.0,"time":31},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":62},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":3,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":2,"successRate":0.4,"time":47},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":48},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":0,"successRate":0.0,"time":10},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":3,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":2,"successRate":0.4,"time":96},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":69},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":69},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":3,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":0,"successRate":0.0,"time":62},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":4,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":0,"successRate":0.0,"time":46},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":54},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":0,"successRate":0.0,"time":0},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":78},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":84},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":85},"title":"Comparison of two algorithms","narrative":""},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":116},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":68},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":17},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":54},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should throw NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":4,"successRate":0.8,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":53},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":1,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":5,"passed":0,"successRate":0.0,"time":47},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":5,"passed":1,"successRate":1.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":3,"totalFeatures":3,"passed":3,"successRate":1.0,"time":63},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":16},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":3,"successRate":0.75,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path for an empty graph","should return an empty path if can't find a route"],"ignoredFeatures":[],"stats":{"failures":0,"errors":1,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":4,"successRate":0.8,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":38},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":7},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":63},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":32},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":37},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":78},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":23},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":0},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":70},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":22},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":37},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":3},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":71},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":23},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":45},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":11},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":69},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":31},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":54},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":54},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":16},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":53},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":15},"title":"Comparison of two algorithms","narrative":""},"graph.BreadthFirstSearchSpec":{"executedFeatures":["should find a route for complex graph","should find a route for simple graph","should return an empty path if can't find a route","should thrown NPE path for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":4,"totalFeatures":4,"passed":4,"successRate":1.0,"time":47},"title":"Breadth First Search Algorithm","narrative":"Breadth First Search algorithm for finding the shortest paths between nodes in a graph"},"graph.DijkstrasAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph","should find a route for a medium graph","should find a route for a simple graph","should return an empty path if can't find a route","should thrown NPE for an empty graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":16},"title":"Dijkstra's Algorithm","narrative":"Dijkstra's algorithm is an algorithm for finding the fastest paths between nodes in a graph"},"graph.GraphSpec":{"executedFeatures":["should be zero distance for an empty path","should be zero distance for any one node path","should calculate distance for a path","should return edges for a given node","should throw NPE for incorrect path"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":5,"totalFeatures":5,"passed":5,"successRate":1.0,"time":47},"title":"Generic Graph","narrative":"A generic implementation of Graph structure"},"graph.SearchAlgorithmSpec":{"executedFeatures":["should find a route for a complex graph"],"ignoredFeatures":[],"stats":{"failures":0,"errors":0,"skipped":0,"totalRuns":1,"totalFeatures":1,"passed":1,"successRate":1.0,"time":16},"title":"Comparison of two algorithms","narrative":""}} \ No newline at end of file diff --git a/docs/spock-reports/graph.BreadthFirstSearchSpec.html b/docs/spock-reports/graph.BreadthFirstSearchSpec.html index 72fc493..cc2244e 100644 --- a/docs/spock-reports/graph.BreadthFirstSearchSpec.html +++ b/docs/spock-reports/graph.BreadthFirstSearchSpec.html @@ -251,7 +251,7 @@

Report for graph.BreadthFirstSearchSpec

Summary:

-
Created on Mon Jan 03 21:28:27 EET 2022 by jegors.cemisovs
+
Created on Tue Jan 04 18:35:45 EET 2022 by jegors.cemisovs
@@ -272,7 +272,7 @@

Summary:

- +
0 0 100.0%0.071 seconds0.047 seconds
diff --git a/docs/spock-reports/graph.DijkstrasAlgorithmSpec.html b/docs/spock-reports/graph.DijkstrasAlgorithmSpec.html index d26af3e..70acb81 100644 --- a/docs/spock-reports/graph.DijkstrasAlgorithmSpec.html +++ b/docs/spock-reports/graph.DijkstrasAlgorithmSpec.html @@ -251,7 +251,7 @@

Report for graph.DijkstrasAlgorithmSpec

Summary:

-
Created on Mon Jan 03 21:28:27 EET 2022 by jegors.cemisovs
+
Created on Tue Jan 04 18:35:45 EET 2022 by jegors.cemisovs
@@ -272,7 +272,7 @@

Summary:

- +
0 0 100.0%0.023 seconds0.016 seconds
diff --git a/docs/spock-reports/graph.GraphSpec.html b/docs/spock-reports/graph.GraphSpec.html index cf37495..bebb5fa 100644 --- a/docs/spock-reports/graph.GraphSpec.html +++ b/docs/spock-reports/graph.GraphSpec.html @@ -251,7 +251,7 @@

Report for graph.GraphSpec

Summary:

-
Created on Mon Jan 03 21:28:28 EET 2022 by jegors.cemisovs
+
Created on Tue Jan 04 18:35:45 EET 2022 by jegors.cemisovs
@@ -272,7 +272,7 @@

Summary:

- +
0 0 100.0%0.045 seconds0.047 seconds
diff --git a/docs/spock-reports/graph.SearchAlgorithmSpec.html b/docs/spock-reports/graph.SearchAlgorithmSpec.html index c796b02..8ccb394 100644 --- a/docs/spock-reports/graph.SearchAlgorithmSpec.html +++ b/docs/spock-reports/graph.SearchAlgorithmSpec.html @@ -251,7 +251,7 @@

Report for graph.SearchAlgorithmSpec

Summary:

-
Created on Mon Jan 03 21:28:28 EET 2022 by jegors.cemisovs
+
Created on Tue Jan 04 18:35:45 EET 2022 by jegors.cemisovs
@@ -272,7 +272,7 @@

Summary:

- +
0 0 100.0%0.011 seconds0.016 seconds
diff --git a/docs/spock-reports/index.html b/docs/spock-reports/index.html index 40a9694..85a52a9 100644 --- a/docs/spock-reports/index.html +++ b/docs/spock-reports/index.html @@ -80,11 +80,11 @@

Specification run results


Project: Graph search algorithms -Version: 1.0 +Version: 1.1

Specifications summary:

-
Created on Mon Jan 03 21:28:28 EET 2022 by jegors.cemisovs
+
Created on Tue Jan 04 18:35:45 EET 2022 by jegors.cemisovs
@@ -111,7 +111,7 @@

Specifications summary:

- +
0 0 100.0%0.150 seconds0.126 seconds
@@ -142,7 +142,7 @@

Specifications:

0 0 100.0% -0.071 seconds +0.047 seconds @@ -155,7 +155,7 @@

Specifications:

0 0 100.0% -0.023 seconds +0.016 seconds @@ -168,7 +168,7 @@

Specifications:

0 0 100.0% -0.045 seconds +0.047 seconds @@ -181,7 +181,7 @@

Specifications:

0 0 100.0% -0.011 seconds +0.016 seconds diff --git a/docs/spock-reports/summary.md b/docs/spock-reports/summary.md new file mode 100644 index 0000000..12d9308 --- /dev/null +++ b/docs/spock-reports/summary.md @@ -0,0 +1,23 @@ +# Specification run results + +## Project: Graph search algorithms, Version: 1.1 + +## Specifications summary + +Created on Tue Jan 04 18:35:06 EET 2022 by jegors.cemisovs + +| Total | Passed | Failed | Feature failures | Feature errors | Success rate | Total time (ms) | +|----------------|-----------------|-----------------|------------------|------------------|---------------------|-----------------| +| 4 | 4 | 0 | 0 | 0 | 1.0| 138.0 | + +## Specifications + +|Name | Features | Failed | Errors | Skipped | Success rate | Time | +|------|----------|--------|--------|---------|--------------|------| +| graph.BreadthFirstSearchSpec | 4 | 0 | 0 | 0 | 1.0 | 54 | +| graph.SearchAlgorithmSpec | 1 | 0 | 0 | 0 | 1.0 | 15 | +| graph.DijkstrasAlgorithmSpec | 5 | 0 | 0 | 0 | 1.0 | 16 | +| graph.GraphSpec | 5 | 0 | 0 | 0 | 1.0 | 53 | + + +Generated by Athaydes Spock Reports \ No newline at end of file diff --git a/src/main/java/lv/id/jc/algorithm/graph/Graph.java b/src/main/java/lv/id/jc/algorithm/graph/Graph.java index 76157aa..6ed2e9c 100644 --- a/src/main/java/lv/id/jc/algorithm/graph/Graph.java +++ b/src/main/java/lv/id/jc/algorithm/graph/Graph.java @@ -14,7 +14,10 @@ @FunctionalInterface public interface Graph { /** - * Schema of the graph. + * The schema of this graph. + * + * In a graph schema, each vertex is assigned an edge map. + * If the vertex has no edges, then it should be assigned an empty map. * * @return the graph scheme */ diff --git a/src/test/resources/SpockConfig.groovy b/src/test/resources/SpockConfig.groovy index 887390e..c21511c 100644 --- a/src/test/resources/SpockConfig.groovy +++ b/src/test/resources/SpockConfig.groovy @@ -2,5 +2,9 @@ spockReports { set 'com.athaydes.spockframework.report.showCodeBlocks': true set 'com.athaydes.spockframework.report.outputDir': 'docs/spock-reports' set 'com.athaydes.spockframework.report.projectName': 'Graph search algorithms' - set 'com.athaydes.spockframework.report.projectVersion': 1.0 + set 'com.athaydes.spockframework.report.projectVersion': 1.1 + set 'com.athaydes.spockframework.report.internal.HtmlReportCreator.enabled': true + set 'com.athaydes.spockframework.report.IReportCreator': 'com.athaydes.spockframework.report.internal.HtmlReportCreator' + // com.athaydes.spockframework.report.template.TemplateReportCreator + // com.athaydes.spockframework.report.internal.HtmlReportCreator } \ No newline at end of file