// Code generated from pgtype/int_test.go.erb. DO NOT EDIT. package pgtype_test import ( "context" "math" "testing" "github.com/jackc/pgx/v5/pgtype" "github.com/jackc/pgx/v5/pgxtest" ) func TestInt2Codec(t *testing.T) { pgxtest.RunValueRoundTripTests(context.Background(), t, defaultConnTestRunner, nil, "int2", []pgxtest.ValueRoundTripTest{ {int8(1), new(int16), isExpectedEq(int16(1))}, {int16(1), new(int16), isExpectedEq(int16(1))}, {int32(1), new(int16), isExpectedEq(int16(1))}, {int64(1), new(int16), isExpectedEq(int16(1))}, {uint8(1), new(int16), isExpectedEq(int16(1))}, {uint16(1), new(int16), isExpectedEq(int16(1))}, {uint32(1), new(int16), isExpectedEq(int16(1))}, {uint64(1), new(int16), isExpectedEq(int16(1))}, {int(1), new(int16), isExpectedEq(int16(1))}, {uint(1), new(int16), isExpectedEq(int16(1))}, {pgtype.Int2{Int16: 1, Valid: true}, new(int16), isExpectedEq(int16(1))}, {int32(-1), new(pgtype.Int2), isExpectedEq(pgtype.Int2{Int16: -1, Valid: true})}, {1, new(int8), isExpectedEq(int8(1))}, {1, new(int16), isExpectedEq(int16(1))}, {1, new(int32), isExpectedEq(int32(1))}, {1, new(int64), isExpectedEq(int64(1))}, {1, new(uint8), isExpectedEq(uint8(1))}, {1, new(uint16), isExpectedEq(uint16(1))}, {1, new(uint32), isExpectedEq(uint32(1))}, {1, new(uint64), isExpectedEq(uint64(1))}, {1, new(int), isExpectedEq(int(1))}, {1, new(uint), isExpectedEq(uint(1))}, {-1, new(int8), isExpectedEq(int8(-1))}, {-1, new(int16), isExpectedEq(int16(-1))}, {-1, new(int32), isExpectedEq(int32(-1))}, {-1, new(int64), isExpectedEq(int64(-1))}, {-1, new(int), isExpectedEq(int(-1))}, {math.MinInt16, new(int16), isExpectedEq(int16(math.MinInt16))}, {-1, new(int16), isExpectedEq(int16(-1))}, {0, new(int16), isExpectedEq(int16(0))}, {1, new(int16), isExpectedEq(int16(1))}, {math.MaxInt16, new(int16), isExpectedEq(int16(math.MaxInt16))}, {1, new(pgtype.Int2), isExpectedEq(pgtype.Int2{Int16: 1, Valid: true})}, {"1", new(string), isExpectedEq("1")}, {pgtype.Int2{}, new(pgtype.Int2), isExpectedEq(pgtype.Int2{})}, {nil, new(*int16), isExpectedEq((*int16)(nil))}, }) } func TestInt2MarshalJSON(t *testing.T) { successfulTests := []struct { source pgtype.Int2 result string }{ {source: pgtype.Int2{Int16: 0}, result: "null"}, {source: pgtype.Int2{Int16: 1, Valid: true}, result: "1"}, } for i, tt := range successfulTests { r, err := tt.source.MarshalJSON() if err != nil { t.Errorf("%d: %v", i, err) } if string(r) != tt.result { t.Errorf("%d: expected %v to convert to %v, but it was %v", i, tt.source, tt.result, string(r)) } } } func TestInt2UnmarshalJSON(t *testing.T) { successfulTests := []struct { source string result pgtype.Int2 }{ {source: "null", result: pgtype.Int2{Int16: 0}}, {source: "1", result: pgtype.Int2{Int16: 1, Valid: true}}, } for i, tt := range successfulTests { var r pgtype.Int2 err := r.UnmarshalJSON([]byte(tt.source)) if err != nil { t.Errorf("%d: %v", i, err) } if r != tt.result { t.Errorf("%d: expected %v to convert to %v, but it was %v", i, tt.source, tt.result, r) } } } func TestInt4Codec(t *testing.T) { pgxtest.RunValueRoundTripTests(context.Background(), t, defaultConnTestRunner, nil, "int4", []pgxtest.ValueRoundTripTest{ {int8(1), new(int32), isExpectedEq(int32(1))}, {int16(1), new(int32), isExpectedEq(int32(1))}, {int32(1), new(int32), isExpectedEq(int32(1))}, {int64(1), new(int32), isExpectedEq(int32(1))}, {uint8(1), new(int32), isExpectedEq(int32(1))}, {uint16(1), new(int32), isExpectedEq(int32(1))}, {uint32(1), new(int32), isExpectedEq(int32(1))}, {uint64(1), new(int32), isExpectedEq(int32(1))}, {int(1), new(int32), isExpectedEq(int32(1))}, {uint(1), new(int32), isExpectedEq(int32(1))}, {pgtype.Int4{Int32: 1, Valid: true}, new(int32), isExpectedEq(int32(1))}, {int32(-1), new(pgtype.Int4), isExpectedEq(pgtype.Int4{Int32: -1, Valid: true})}, {1, new(int8), isExpectedEq(int8(1))}, {1, new(int16), isExpectedEq(int16(1))}, {1, new(int32), isExpectedEq(int32(1))}, {1, new(int64), isExpectedEq(int64(1))}, {1, new(uint8), isExpectedEq(uint8(1))}, {1, new(uint16), isExpectedEq(uint16(1))}, {1, new(uint32), isExpectedEq(uint32(1))}, {1, new(uint64), isExpectedEq(uint64(1))}, {1, new(int), isExpectedEq(int(1))}, {1, new(uint), isExpectedEq(uint(1))}, {-1, new(int8), isExpectedEq(int8(-1))}, {-1, new(int16), isExpectedEq(int16(-1))}, {-1, new(int32), isExpectedEq(int32(-1))}, {-1, new(int64), isExpectedEq(int64(-1))}, {-1, new(int), isExpectedEq(int(-1))}, {math.MinInt32, new(int32), isExpectedEq(int32(math.MinInt32))}, {-1, new(int32), isExpectedEq(int32(-1))}, {0, new(int32), isExpectedEq(int32(0))}, {1, new(int32), isExpectedEq(int32(1))}, {math.MaxInt32, new(int32), isExpectedEq(int32(math.MaxInt32))}, {1, new(pgtype.Int4), isExpectedEq(pgtype.Int4{Int32: 1, Valid: true})}, {"1", new(string), isExpectedEq("1")}, {pgtype.Int4{}, new(pgtype.Int4), isExpectedEq(pgtype.Int4{})}, {nil, new(*int32), isExpectedEq((*int32)(nil))}, }) } func TestInt4MarshalJSON(t *testing.T) { successfulTests := []struct { source pgtype.Int4 result string }{ {source: pgtype.Int4{Int32: 0}, result: "null"}, {source: pgtype.Int4{Int32: 1, Valid: true}, result: "1"}, } for i, tt := range successfulTests { r, err := tt.source.MarshalJSON() if err != nil { t.Errorf("%d: %v", i, err) } if string(r) != tt.result { t.Errorf("%d: expected %v to convert to %v, but it was %v", i, tt.source, tt.result, string(r)) } } } func TestInt4UnmarshalJSON(t *testing.T) { successfulTests := []struct { source string result pgtype.Int4 }{ {source: "null", result: pgtype.Int4{Int32: 0}}, {source: "1", result: pgtype.Int4{Int32: 1, Valid: true}}, } for i, tt := range successfulTests { var r pgtype.Int4 err := r.UnmarshalJSON([]byte(tt.source)) if err != nil { t.Errorf("%d: %v", i, err) } if r != tt.result { t.Errorf("%d: expected %v to convert to %v, but it was %v", i, tt.source, tt.result, r) } } } func TestInt8Codec(t *testing.T) { pgxtest.RunValueRoundTripTests(context.Background(), t, defaultConnTestRunner, nil, "int8", []pgxtest.ValueRoundTripTest{ {int8(1), new(int64), isExpectedEq(int64(1))}, {int16(1), new(int64), isExpectedEq(int64(1))}, {int32(1), new(int64), isExpectedEq(int64(1))}, {int64(1), new(int64), isExpectedEq(int64(1))}, {uint8(1), new(int64), isExpectedEq(int64(1))}, {uint16(1), new(int64), isExpectedEq(int64(1))}, {uint32(1), new(int64), isExpectedEq(int64(1))}, {uint64(1), new(int64), isExpectedEq(int64(1))}, {int(1), new(int64), isExpectedEq(int64(1))}, {uint(1), new(int64), isExpectedEq(int64(1))}, {pgtype.Int8{Int64: 1, Valid: true}, new(int64), isExpectedEq(int64(1))}, {int32(-1), new(pgtype.Int8), isExpectedEq(pgtype.Int8{Int64: -1, Valid: true})}, {1, new(int8), isExpectedEq(int8(1))}, {1, new(int16), isExpectedEq(int16(1))}, {1, new(int32), isExpectedEq(int32(1))}, {1, new(int64), isExpectedEq(int64(1))}, {1, new(uint8), isExpectedEq(uint8(1))}, {1, new(uint16), isExpectedEq(uint16(1))}, {1, new(uint32), isExpectedEq(uint32(1))}, {1, new(uint64), isExpectedEq(uint64(1))}, {1, new(int), isExpectedEq(int(1))}, {1, new(uint), isExpectedEq(uint(1))}, {-1, new(int8), isExpectedEq(int8(-1))}, {-1, new(int16), isExpectedEq(int16(-1))}, {-1, new(int32), isExpectedEq(int32(-1))}, {-1, new(int64), isExpectedEq(int64(-1))}, {-1, new(int), isExpectedEq(int(-1))}, {math.MinInt64, new(int64), isExpectedEq(int64(math.MinInt64))}, {-1, new(int64), isExpectedEq(int64(-1))}, {0, new(int64), isExpectedEq(int64(0))}, {1, new(int64), isExpectedEq(int64(1))}, {math.MaxInt64, new(int64), isExpectedEq(int64(math.MaxInt64))}, {1, new(pgtype.Int8), isExpectedEq(pgtype.Int8{Int64: 1, Valid: true})}, {"1", new(string), isExpectedEq("1")}, {pgtype.Int8{}, new(pgtype.Int8), isExpectedEq(pgtype.Int8{})}, {nil, new(*int64), isExpectedEq((*int64)(nil))}, }) } func TestInt8MarshalJSON(t *testing.T) { successfulTests := []struct { source pgtype.Int8 result string }{ {source: pgtype.Int8{Int64: 0}, result: "null"}, {source: pgtype.Int8{Int64: 1, Valid: true}, result: "1"}, } for i, tt := range successfulTests { r, err := tt.source.MarshalJSON() if err != nil { t.Errorf("%d: %v", i, err) } if string(r) != tt.result { t.Errorf("%d: expected %v to convert to %v, but it was %v", i, tt.source, tt.result, string(r)) } } } func TestInt8UnmarshalJSON(t *testing.T) { successfulTests := []struct { source string result pgtype.Int8 }{ {source: "null", result: pgtype.Int8{Int64: 0}}, {source: "1", result: pgtype.Int8{Int64: 1, Valid: true}}, } for i, tt := range successfulTests { var r pgtype.Int8 err := r.UnmarshalJSON([]byte(tt.source)) if err != nil { t.Errorf("%d: %v", i, err) } if r != tt.result { t.Errorf("%d: expected %v to convert to %v, but it was %v", i, tt.source, tt.result, r) } } }