github.com/99designs/gqlgen@v0.17.45/graphql/int_test.go (about) 1 package graphql 2 3 import ( 4 "encoding/json" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestInt(t *testing.T) { 11 t.Run("marshal", func(t *testing.T) { 12 assert.Equal(t, "123", m2s(MarshalInt(123))) 13 }) 14 15 t.Run("unmarshal", func(t *testing.T) { 16 assert.Equal(t, 123, mustUnmarshalInt(123)) 17 assert.Equal(t, 123, mustUnmarshalInt(int64(123))) 18 assert.Equal(t, 123, mustUnmarshalInt(json.Number("123"))) 19 assert.Equal(t, 123, mustUnmarshalInt("123")) 20 }) 21 } 22 23 func mustUnmarshalInt(v interface{}) int { 24 res, err := UnmarshalInt(v) 25 if err != nil { 26 panic(err) 27 } 28 return res 29 } 30 31 func TestInt32(t *testing.T) { 32 t.Run("marshal", func(t *testing.T) { 33 assert.Equal(t, "123", m2s(MarshalInt32(123))) 34 }) 35 36 t.Run("unmarshal", func(t *testing.T) { 37 assert.Equal(t, int32(123), mustUnmarshalInt32(123)) 38 assert.Equal(t, int32(123), mustUnmarshalInt32(int64(123))) 39 assert.Equal(t, int32(123), mustUnmarshalInt32(json.Number("123"))) 40 assert.Equal(t, int32(123), mustUnmarshalInt32("123")) 41 }) 42 } 43 44 func mustUnmarshalInt32(v interface{}) int32 { 45 res, err := UnmarshalInt32(v) 46 if err != nil { 47 panic(err) 48 } 49 return res 50 } 51 52 func TestInt64(t *testing.T) { 53 t.Run("marshal", func(t *testing.T) { 54 assert.Equal(t, "123", m2s(MarshalInt32(123))) 55 }) 56 57 t.Run("unmarshal", func(t *testing.T) { 58 assert.Equal(t, int64(123), mustUnmarshalInt64(123)) 59 assert.Equal(t, int64(123), mustUnmarshalInt64(int64(123))) 60 assert.Equal(t, int64(123), mustUnmarshalInt64(json.Number("123"))) 61 assert.Equal(t, int64(123), mustUnmarshalInt64("123")) 62 }) 63 } 64 65 func mustUnmarshalInt64(v interface{}) int64 { 66 res, err := UnmarshalInt64(v) 67 if err != nil { 68 panic(err) 69 } 70 return res 71 }