45 lines
836 B
Go
45 lines
836 B
Go
// Copyright 2024 Matthew Rich <matthewrich.conf@gmail.com>. All rights reserved.
|
|
|
|
package mockdata
|
|
|
|
import (
|
|
"path/filepath"
|
|
"log"
|
|
"fmt"
|
|
"testing/fixture"
|
|
)
|
|
|
|
type Results struct {
|
|
*fixture.Results
|
|
name string
|
|
basepath string
|
|
}
|
|
|
|
func R(name string) *Results { return &Results{ name: name } }
|
|
|
|
func (r *Results) BasePath() string {
|
|
if r.basepath == "" {
|
|
g := fmt.Sprintf("result_%s_", r.name)
|
|
r.basepath = filepath.Join("./testdata", g)
|
|
}
|
|
return r.basepath
|
|
}
|
|
|
|
func (r *Results) Paths() []string {
|
|
df, e := filepath.Glob(r.BasePath() + "*")
|
|
if e != nil {
|
|
log.Fatal(e)
|
|
}
|
|
return df
|
|
}
|
|
|
|
func (r *Results) Values() []fixture.Result {
|
|
// return MockData files
|
|
paths := r.Paths()
|
|
res := make([]fixture.Result, len(paths))
|
|
for i := range(paths) {
|
|
res[i] = ReadRaw(paths[i])
|
|
}
|
|
return res
|
|
}
|