From f295adc5e71e8970d8223552c4e9d0447bd72d1a Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Fri, 23 Feb 2018 18:03:42 -0500 Subject: Add graph summation "+" to DiGraph (#744) * Add DiGraph sum and DiGraph sum test Signed-off-by: Schuyler Eldridge * Make DiGraph sum deterministic Signed-off-by: Schuyler Eldridge * Remove ordered hashes/sets from DiGraphTests Signed-off-by: Schuyler Eldridge --- src/test/scala/firrtlTests/graph/DiGraphTests.scala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/test') diff --git a/src/test/scala/firrtlTests/graph/DiGraphTests.scala b/src/test/scala/firrtlTests/graph/DiGraphTests.scala index b9f51699..147b22d7 100644 --- a/src/test/scala/firrtlTests/graph/DiGraphTests.scala +++ b/src/test/scala/firrtlTests/graph/DiGraphTests.scala @@ -58,4 +58,18 @@ class DiGraphTests extends FirrtlFlatSpec { tupleGraph.transformNodes(_._1).getEdgeMap should contain ("a" -> Set("b", "c")) } + "Graph summation" should "be order-wise equivalent to original" in { + val first = acyclicGraph.subgraph(Set("a", "b", "c")) + val second = acyclicGraph.subgraph(Set("b", "c", "d", "e")) + + (first + second).getEdgeMap should equal (acyclicGraph.getEdgeMap) + } + + it should "be idempotent" in { + val first = acyclicGraph.subgraph(Set("a", "b", "c")) + val second = acyclicGraph.subgraph(Set("b", "c", "d", "e")) + + (first + second + second + second).getEdgeMap should equal (acyclicGraph.getEdgeMap) + } + } -- cgit v1.2.3