mirror of
https://github.com/aclindsa/ofxgo.git
synced 2024-11-22 03:30:04 -05:00
Add tests for auto-generated constants
This commit is contained in:
parent
932af2439b
commit
ac5a0dce1d
1456
constants_test.go
Normal file
1456
constants_test.go
Normal file
File diff suppressed because it is too large
Load Diff
@ -154,3 +154,67 @@ with open("constants.go", 'w') as f:
|
|||||||
lastValue=lastValue,
|
lastValue=lastValue,
|
||||||
constNames=constNames,
|
constNames=constNames,
|
||||||
upperValueString=upperValueString))
|
upperValueString=upperValueString))
|
||||||
|
|
||||||
|
test_header = """package ofxgo_test
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Do not edit this file by hand. It is auto-generated by calling `go generate`.
|
||||||
|
* To make changes, edit generate_constants.py, re-run `go generate`, and check
|
||||||
|
* in the result.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/aclindsa/go/src/encoding/xml"
|
||||||
|
"github.com/aclindsa/ofxgo"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
"""
|
||||||
|
|
||||||
|
test_template = """
|
||||||
|
func Test{enum}(t *testing.T) {{
|
||||||
|
e, err := ofxgo.New{enum}("{firstValueUpper}")
|
||||||
|
if err != nil {{
|
||||||
|
t.Fatalf("Unexpected error creating new {enum} from string \\\"{firstValueUpper}\\\"\\n")
|
||||||
|
}}
|
||||||
|
if !e.Valid() {{
|
||||||
|
t.Fatalf("{enum} unexpectedly invalid\\n")
|
||||||
|
}}
|
||||||
|
err = e.FromString("{lastValueUpper}")
|
||||||
|
if err != nil {{
|
||||||
|
t.Fatalf("Unexpected error on {enum}.FromString(\\\"{lastValueUpper}\\\")\\n")
|
||||||
|
}}
|
||||||
|
if e.String() != "{lastValueUpper}" {{
|
||||||
|
t.Fatalf("{enum}.String() expected to be \\\"{lastValueUpper}\\\"\\n")
|
||||||
|
}}
|
||||||
|
|
||||||
|
marshalHelper(t, "{lastValueUpper}", &e)
|
||||||
|
|
||||||
|
overwritten, err := ofxgo.New{enum}("THISWILLNEVERBEAVALIDENUMSTRING")
|
||||||
|
if err == nil {{
|
||||||
|
t.Fatalf("Expected error creating new {enum} from string \\\"THISWILLNEVERBEAVALIDENUMSTRING\\\"\\n")
|
||||||
|
}}
|
||||||
|
if overwritten.Valid() {{
|
||||||
|
t.Fatalf("{enum} created with string \\\"THISWILLNEVERBEAVALIDENUMSTRING\\\" should not be valid\\n")
|
||||||
|
}}
|
||||||
|
|
||||||
|
b, err := xml.Marshal(&overwritten)
|
||||||
|
if err != nil {{
|
||||||
|
t.Fatalf("Unexpected error on xml.Marshal({enum}): %s\\n", err)
|
||||||
|
}}
|
||||||
|
if string(b) != "" {{
|
||||||
|
t.Fatalf("Expected empty string, got '%s'\\n", string(b))
|
||||||
|
}}
|
||||||
|
|
||||||
|
unmarshalHelper(t, "{lastValueUpper}", &e, &overwritten)
|
||||||
|
}}
|
||||||
|
"""
|
||||||
|
|
||||||
|
with open("constants_test.go", 'w') as f:
|
||||||
|
f.write(test_header)
|
||||||
|
|
||||||
|
for enum in enums:
|
||||||
|
firstValueUpper = enums[enum][0].upper()
|
||||||
|
lastValueUpper = enums[enum][-1].upper()
|
||||||
|
f.write(test_template.format(enum=enum,
|
||||||
|
firstValueUpper=firstValueUpper,
|
||||||
|
lastValueUpper=lastValueUpper))
|
||||||
|
Loading…
Reference in New Issue
Block a user