github.com/Cloud-Foundations/Dominator@v0.3.4/lib/decoders/impl_test.go (about) 1 package decoders 2 3 import ( 4 "testing" 5 ) 6 7 type testdataType struct { 8 Name string 9 Value string 10 } 11 12 func checkTestdata(t *testing.T, testdata testdataType) { 13 if testdata.Name != "a name" { 14 t.Fatalf("Name field: \"%s\" != \"a name\"", testdata.Name) 15 } 16 if testdata.Value != "a value" { 17 t.Fatalf("Value field: \"%s\" != \"a value\"", testdata.Value) 18 } 19 } 20 21 func TestGobExplicit(t *testing.T) { 22 var testdata testdataType 23 if err := DecodeFile("testdata/data.gob", &testdata); err != nil { 24 t.Fatal(err) 25 } 26 checkTestdata(t, testdata) 27 } 28 29 func TestGobImplicit(t *testing.T) { 30 var testdata testdataType 31 if err := FindAndDecodeFile("testdata/data-gob", &testdata); err != nil { 32 t.Fatal(err) 33 } 34 checkTestdata(t, testdata) 35 } 36 37 func TestJsonExplicit(t *testing.T) { 38 var testdata testdataType 39 if err := DecodeFile("testdata/data.json", &testdata); err != nil { 40 t.Fatal(err) 41 } 42 checkTestdata(t, testdata) 43 } 44 45 func TestJsonImplicit(t *testing.T) { 46 var testdata testdataType 47 if err := FindAndDecodeFile("testdata/data-json", &testdata); err != nil { 48 t.Fatal(err) 49 } 50 checkTestdata(t, testdata) 51 }