func TestMergeRenderableNode(t *testing.T) { node1 := render.RenderableNode{ ID: "foo", LabelMajor: "", LabelMinor: "minor", Rank: "", Pseudo: false, Node: report.MakeNode().WithAdjacent("a1"), Children: report.MakeNodeSet(report.MakeNode().WithID("child1")), } node2 := render.RenderableNode{ ID: "foo", LabelMajor: "major", LabelMinor: "", Rank: "rank", Pseudo: false, Node: report.MakeNode().WithAdjacent("a2"), Children: report.MakeNodeSet(report.MakeNode().WithID("child2")), } want := render.RenderableNode{ ID: "foo", LabelMajor: "major", LabelMinor: "minor", Rank: "rank", Pseudo: false, Node: report.MakeNode().WithID("foo").WithAdjacent("a1").WithAdjacent("a2"), Children: report.MakeNodeSet(report.MakeNode().WithID("child1"), report.MakeNode().WithID("child2")), EdgeMetadata: report.EdgeMetadata{}, }.Prune() have := node1.Merge(node2).Prune() if !reflect.DeepEqual(want, have) { t.Error(test.Diff(want, have)) } }
func TestMergeRenderableNode(t *testing.T) { node1 := render.RenderableNode{ ID: "foo", LabelMajor: "", LabelMinor: "minor", Rank: "", Pseudo: false, Node: report.MakeNode().WithAdjacent("a1"), Origins: report.MakeIDList("o1"), } node2 := render.RenderableNode{ ID: "foo", LabelMajor: "major", LabelMinor: "", Rank: "rank", Pseudo: false, Node: report.MakeNode().WithAdjacent("a2"), Origins: report.MakeIDList("o2"), } want := render.RenderableNode{ ID: "foo", LabelMajor: "major", LabelMinor: "minor", Rank: "rank", Pseudo: false, Node: report.MakeNode().WithAdjacency(report.MakeIDList("a1", "a2")), Origins: report.MakeIDList("o1", "o2"), EdgeMetadata: report.EdgeMetadata{}, } have := node1.Merge(node2) if !reflect.DeepEqual(want, have) { t.Error(test.Diff(want, have)) } }
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) } }