package main import ( "reflect" "testing" "golang.org/x/tools/benchmark/parse" ) func TestSelectBest(t *testing.T) { have := parse.Set{ "Benchmark1": []*parse.Benchmark{ { Name: "Benchmark1", N: 10, NsPerOp: 100, Measured: parse.NsPerOp, Ord: 0, }, { Name: "Benchmark1", N: 10, NsPerOp: 50, Measured: parse.NsPerOp, Ord: 3, }, }, "Benchmark2": []*parse.Benchmark{ { Name: "Benchmark2", N: 10, NsPerOp: 60, Measured: parse.NsPerOp, Ord: 1, }, { Name: "Benchmark2", N: 10, NsPerOp: 500, Measured: parse.NsPerOp, Ord: 2, }, }, } want := parse.Set{ "Benchmark1": []*parse.Benchmark{ { Name: "Benchmark1", N: 10, NsPerOp: 50, Measured: parse.NsPerOp, Ord: 0, }, }, "Benchmark2": []*parse.Benchmark{ { Name: "Benchmark2", N: 10, NsPerOp: 60, Measured: parse.NsPerOp, Ord: 1, }, }, } selectBest(have) if !reflect.DeepEqual(want, have) { t.Errorf("filtered bench set incorrectly, want %v have %v", want, have) } }