Sha256: edf0efe7d0d669f482cf41f38ba5907098c80111066f8ac9e17a8ab6b0957102
Contents?: true
Size: 930 Bytes
Versions: 86
Compression:
Stored size: 930 Bytes
Contents
package main import ( "log" "text/template" "../../../gen" ) func main() { t, err := template.New("").Parse(tmpl) if err != nil { log.Fatal(err) } var j js if err := gen.Gen("book-store", &j, t); err != nil { log.Fatal(err) } } // The JSON structure we expect to be able to unmarshal into type js struct { Cases []OneCase Groups []TestGroup `json:"cases"` } type TestGroup struct { Description string Cases []OneCase } type OneCase struct { Description string Input struct { Basket []int } Expected int } // template applied to above data structure generates the Go test cases var tmpl = `package bookstore {{.Header}} var testCases = []struct { description string basket []int expected int }{{range .J.Groups}}{ {{range .Cases}} { description: "{{.Description}}", basket: {{printf "%#v" .Input.Basket}}, expected: {{printf "%d" .Expected}}, }, {{end}}}{{end}} `
Version data entries
86 entries across 86 versions & 1 rubygems