| // Copyright IBM Corp. 2014, 2026 | |
| // SPDX-License-Identifier: BUSL-1.1 | |
| 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 | |
| } |