github.com/Ingenico-ePayments/connect-sdk-go@v0.0.0-20240318153750-1f8cd329b9c9/defaultimpl/DefaultMarshaller_test.go (about) 1 package defaultimpl 2 3 import ( 4 "strconv" 5 "testing" 6 ) 7 8 type jsonToken struct { 9 Date int 10 Iban string 11 } 12 13 type extendedToken struct { 14 Date int 15 Iban string 16 Amount int 17 } 18 19 func TestUnmarshalWithExtraFields(t *testing.T) { 20 defaultMarshaller, _ := NewDefaultMarshaller() 21 22 iban := "barbarbarbarfoo" 23 date := 123 24 25 token := extendedToken{date, iban, 1337} 26 27 json, _ := defaultMarshaller.Marshal(token) 28 29 var jToken jsonToken 30 defaultMarshaller.Unmarshal(json, &jToken) 31 32 if token.Date != jToken.Date || token.Iban != jToken.Iban { 33 t.Fatal("TestUnmarshalWithExtraFields : expected (" + strconv.Itoa(token.Date) + ", " + token.Iban + ") got (" + strconv.Itoa(jToken.Date) + ", " + jToken.Iban + ")") 34 } 35 }