github.com/spread-ai/gqlgen@v0.0.0-20221124102857-a6c8ef538a1d/graphql/uint_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 TestUint(t *testing.T) {
    11  	t.Run("marshal", func(t *testing.T) {
    12  		assert.Equal(t, "123", m2s(MarshalUint(123)))
    13  	})
    14  
    15  	t.Run("unmarshal", func(t *testing.T) {
    16  		assert.Equal(t, uint(123), mustUnmarshalUint(123))
    17  		assert.Equal(t, uint(123), mustUnmarshalUint(int64(123)))
    18  		assert.Equal(t, uint(123), mustUnmarshalUint(json.Number("123")))
    19  		assert.Equal(t, uint(123), mustUnmarshalUint("123"))
    20  	})
    21  }
    22  
    23  func mustUnmarshalUint(v interface{}) uint {
    24  	res, err := UnmarshalUint(v)
    25  	if err != nil {
    26  		panic(err)
    27  	}
    28  	return res
    29  }
    30  
    31  func TestUint32(t *testing.T) {
    32  	t.Run("marshal", func(t *testing.T) {
    33  		assert.Equal(t, "123", m2s(MarshalUint32(123)))
    34  	})
    35  
    36  	t.Run("unmarshal", func(t *testing.T) {
    37  		assert.Equal(t, uint32(123), mustUnmarshalUint32(123))
    38  		assert.Equal(t, uint32(123), mustUnmarshalUint32(int64(123)))
    39  		assert.Equal(t, uint32(123), mustUnmarshalUint32(json.Number("123")))
    40  		assert.Equal(t, uint32(123), mustUnmarshalUint32("123"))
    41  	})
    42  }
    43  
    44  func mustUnmarshalUint32(v interface{}) uint32 {
    45  	res, err := UnmarshalUint32(v)
    46  	if err != nil {
    47  		panic(err)
    48  	}
    49  	return res
    50  }
    51  
    52  func TestUint64(t *testing.T) {
    53  	t.Run("marshal", func(t *testing.T) {
    54  		assert.Equal(t, "123", m2s(MarshalUint64(123)))
    55  	})
    56  
    57  	t.Run("unmarshal", func(t *testing.T) {
    58  		assert.Equal(t, uint64(123), mustUnmarshalUint64(123))
    59  		assert.Equal(t, uint64(123), mustUnmarshalUint64(int64(123)))
    60  		assert.Equal(t, uint64(123), mustUnmarshalUint64(json.Number("123")))
    61  		assert.Equal(t, uint64(123), mustUnmarshalUint64("123"))
    62  	})
    63  }
    64  
    65  func mustUnmarshalUint64(v interface{}) uint64 {
    66  	res, err := UnmarshalUint64(v)
    67  	if err != nil {
    68  		panic(err)
    69  	}
    70  	return res
    71  }