func TestParse(t *testing.T) { for _, test := range tests { test.in = contents(test.in) test.expectedOut = contents(test.expectedOut) bytes, err := parse.Generics(test.filename, test.pkgName, strings.NewReader(test.in), test.types) // check the error if test.expectedErr == nil { assert.NoError(t, err, "(%s) No error was expected but got: %s", test.filename, err) } else { assert.NotNil(t, err, "(%s) No error was returned by one was expected: %s", test.filename, test.expectedErr) assert.IsType(t, test.expectedErr, err, "(%s) Generate should return object of type %v", test.filename, test.expectedErr) } // assert the response if !assert.Equal(t, string(bytes), test.expectedOut, "Parse didn't generate the expected output.") { log.Println("EXPECTED: " + test.expectedOut) log.Println("ACTUAL: " + string(bytes)) } } }
// gen performs the generic generation. func gen(filename, pkgName string, in io.ReadSeeker, typesets []map[string]string, imports []string, out io.Writer) error { var output []byte var err error output, err = parse.Generics(filename, pkgName, in, typesets, imports) if err != nil { return err } out.Write(output) return nil }