| 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 |
| } |