From 6e632ec2bacc7c700c1987e342f4bd0a09c18d14 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 21 Sep 2016 13:38:33 -0700 Subject: [PATCH] dag: test for EdgesFrom, EdgesTo --- dag/graph_test.go | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/dag/graph_test.go b/dag/graph_test.go index 7acd4a831..02c4debd5 100644 --- a/dag/graph_test.go +++ b/dag/graph_test.go @@ -124,6 +124,52 @@ func TestGraphHasEdge(t *testing.T) { } } +func TestGraphEdgesFrom(t *testing.T) { + var g Graph + g.Add(1) + g.Add(2) + g.Add(3) + g.Connect(BasicEdge(1, 3)) + g.Connect(BasicEdge(2, 3)) + + edges := g.EdgesFrom(1) + + var expected Set + expected.Add(BasicEdge(1, 3)) + + var s Set + for _, e := range edges { + s.Add(e) + } + + if s.Intersection(&expected).Len() != expected.Len() { + t.Fatalf("bad: %#v", edges) + } +} + +func TestGraphEdgesTo(t *testing.T) { + var g Graph + g.Add(1) + g.Add(2) + g.Add(3) + g.Connect(BasicEdge(1, 3)) + g.Connect(BasicEdge(1, 2)) + + edges := g.EdgesTo(3) + + var expected Set + expected.Add(BasicEdge(1, 3)) + + var s Set + for _, e := range edges { + s.Add(e) + } + + if s.Intersection(&expected).Len() != expected.Len() { + t.Fatalf("bad: %#v", edges) + } +} + type hashVertex struct { code interface{} }