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  }