package dag import ( "reflect" "testing" ) func TestGraphDot_opts(t *testing.T) { var v testDotVertex var g Graph g.Add(&v) opts := &DotOpts{MaxDepth: 42} actual := g.Dot(opts) if len(actual) == 0 { t.Fatal("should not be empty") } if !v.DotNodeCalled { t.Fatal("should call DotNode") } if !reflect.DeepEqual(v.DotNodeOpts, opts) { t.Fatalf("bad; %#v", v.DotNodeOpts) } } type testDotVertex struct { DotNodeCalled bool DotNodeTitle string DotNodeOpts *DotOpts DotNodeReturn *DotNode } func (v *testDotVertex) DotNode(title string, opts *DotOpts) *DotNode { v.DotNodeCalled = true v.DotNodeTitle = title v.DotNodeOpts = opts return v.DotNodeReturn }