This appears to be because the GraphTypeOption only works with a single option, and will overwrite itself if multiple are passed in (in the above example, strict is the last argument so is the resulting graph option used).
func (o GraphTypeOption) Apply(g *Graph) {
g.graphType = o.Name
}
Expectation:
should return the following DOT:
Reality:
returns the following DOT:
This appears to be because the
GraphTypeOption
only works with a single option, and will overwrite itself if multiple are passed in (in the above example,strict
is the last argument so is the resulting graph option used).