From cc0efe526e9346e889cd639623feba4a5c6fe3da Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Tue, 16 Jun 2015 09:27:42 +0000 Subject: [PATCH] Add test for renderable node merging. --- render/renderable_node_test.go | 67 ++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 render/renderable_node_test.go diff --git a/render/renderable_node_test.go b/render/renderable_node_test.go new file mode 100644 index 000000000..efa66b545 --- /dev/null +++ b/render/renderable_node_test.go @@ -0,0 +1,67 @@ +package render_test + +import ( + "reflect" + "testing" + + "github.com/weaveworks/scope/render" + "github.com/weaveworks/scope/report" +) + +func TestMergeRenderableNodes(t *testing.T) { + nodes1 := render.RenderableNodes{ + "foo": render.RenderableNode{ID: "foo"}, + "bar": render.RenderableNode{ID: "bar"}, + } + nodes2 := render.RenderableNodes{ + "bar": render.RenderableNode{ID: "bar"}, + "baz": render.RenderableNode{ID: "baz"}, + } + + want := render.RenderableNodes{ + "foo": render.RenderableNode{ID: "foo"}, + "bar": render.RenderableNode{ID: "bar"}, + "baz": render.RenderableNode{ID: "baz"}, + } + nodes1.Merge(nodes2) + + if !reflect.DeepEqual(want, nodes1) { + t.Errorf("want %+v, have %+v", want, nodes1) + } +} + +func TestMergeRenderableNode(t *testing.T) { + node1 := render.RenderableNode{ + ID: "foo", + LabelMajor: "", + LabelMinor: "minor", + Rank: "", + Pseudo: false, + Adjacency: report.MakeIDList("a1"), + Origins: report.MakeIDList("o1"), + } + node2 := render.RenderableNode{ + ID: "foo", + LabelMajor: "major", + LabelMinor: "", + Rank: "rank", + Pseudo: false, + Adjacency: report.MakeIDList("a2"), + Origins: report.MakeIDList("o2"), + } + + want := render.RenderableNode{ + ID: "foo", + LabelMajor: "major", + LabelMinor: "minor", + Rank: "rank", + Pseudo: false, + Adjacency: report.MakeIDList("a1", "a2"), + Origins: report.MakeIDList("o1", "o2"), + } + node1.Merge(node2) + + if !reflect.DeepEqual(want, node1) { + t.Errorf("want %+v, have %+v", want, node1) + } +}