get rid of report.Topologies()

The three report.Walk* functions are quite enough.
This commit is contained in:
Matthias Radestock
2017-12-24 22:18:38 +00:00
parent e2eef50cda
commit dcda88471a
2 changed files with 8 additions and 14 deletions

View File

@@ -273,16 +273,6 @@ func (r Report) Merge(other Report) Report {
return newReport
}
// Topologies returns a slice of Topologies in this report
func (r Report) Topologies() []Topology {
result := make([]Topology, len(topologyNames))
for i, name := range topologyNames {
t, _ := r.Topology(name)
result[i] = t
}
return result
}
// WalkTopologies iterates through the Topologies of the report,
// potentially modifying them
func (r *Report) WalkTopologies(f func(*Topology)) {
@@ -358,8 +348,8 @@ func (r Report) Topology(name string) (Topology, bool) {
// Validate checks the report for various inconsistencies.
func (r Report) Validate() error {
var errs []string
for _, topology := range r.Topologies() {
if err := topology.Validate(); err != nil {
for _, name := range topologyNames {
if err := r.topology(name).Validate(); err != nil {
errs = append(errs, err.Error())
}
}

View File

@@ -20,14 +20,18 @@ func TestReportTopologies(t *testing.T) {
topologyType = reflect.TypeOf(report.MakeTopology())
)
var want int
var want, have int
for i := 0; i < reportType.NumField(); i++ {
if reportType.Field(i).Type == topologyType {
want++
}
}
if have := len(report.MakeReport().Topologies()); want != have {
r := report.MakeReport()
r.WalkTopologies(func(_ *report.Topology) {
have++
})
if want != have {
t.Errorf("want %d, have %d", want, have)
}
}