From dcda88471a8ac3e773e3c1f047faec85faed790e Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Sun, 24 Dec 2017 22:18:38 +0000 Subject: [PATCH] get rid of report.Topologies() The three report.Walk* functions are quite enough. --- report/report.go | 14 ++------------ report/report_test.go | 8 ++++++-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/report/report.go b/report/report.go index 71a67456d..19bf9e780 100644 --- a/report/report.go +++ b/report/report.go @@ -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()) } } diff --git a/report/report_test.go b/report/report_test.go index bf5dc2a36..f65576e79 100644 --- a/report/report_test.go +++ b/report/report_test.go @@ -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) } }