...

Source file src/gopkg.in/inf.v0/dec_go1_2_test.go

Documentation: gopkg.in/inf.v0

     1  // +build go1.2
     2  
     3  package inf
     4  
     5  import (
     6  	"encoding"
     7  	"encoding/json"
     8  	"testing"
     9  )
    10  
    11  var _ encoding.TextMarshaler = new(Dec)
    12  var _ encoding.TextUnmarshaler = new(Dec)
    13  
    14  type Obj struct {
    15  	Val *Dec
    16  }
    17  
    18  func TestDecJsonMarshalUnmarshal(t *testing.T) {
    19  	o := Obj{Val: NewDec(123, 2)}
    20  	js, err := json.Marshal(o)
    21  	if err != nil {
    22  		t.Fatalf("json.Marshal(%v): got %v, want ok", o, err)
    23  	}
    24  	o2 := &Obj{}
    25  	err = json.Unmarshal(js, o2)
    26  	if err != nil {
    27  		t.Fatalf("json.Unmarshal(%#q): got %v, want ok", js, err)
    28  	}
    29  	if o.Val.Scale() != o2.Val.Scale() ||
    30  		o.Val.UnscaledBig().Cmp(o2.Val.UnscaledBig()) != 0 {
    31  		t.Fatalf("json.Unmarshal(json.Marshal(%v)): want %v, got %v", o, o, o2)
    32  	}
    33  }
    34  

View as plain text