Integer tests
This commit is contained in:
parent
5daeb32c4a
commit
b6b8f19d5d
138
tests/integer_test.go
Normal file
138
tests/integer_test.go
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
package tests
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/localhots/bocadillo/mysql"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
// Tiny
|
||||||
|
//
|
||||||
|
|
||||||
|
func TestTinyUnsigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeTiny, "", attrUnsigned)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []uint8{0, 1, 123, 200, 255} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestTinySigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeTiny, "", attrNone)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []int8{-128, -1, 0, 1, 127} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Short
|
||||||
|
//
|
||||||
|
|
||||||
|
func TestShortUnsigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeShort, "", attrUnsigned)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []uint16{0, 1, 123, 20000, 65535} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestShortSigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeShort, "", attrNone)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []int16{-32768, -1, 0, 1, 32767} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Int24
|
||||||
|
//
|
||||||
|
|
||||||
|
func TestInt24Unsigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeInt24, "", attrUnsigned)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []uint32{0, 1, 123, 20000, 16777215} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestInt24Signed(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeInt24, "", attrNone)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []int32{-8388608, -1, 0, 1, 8388607} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Long
|
||||||
|
//
|
||||||
|
|
||||||
|
func TestLongUnsigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeLong, "", attrUnsigned)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []uint32{0, 1, 123, 200000000, 4294967295} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestLongSigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeLong, "", attrNone)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []int32{-2147483648, -1, 0, 1, 2147483647} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Longlong
|
||||||
|
//
|
||||||
|
|
||||||
|
func TestLonglongUnsigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeLonglong, "", attrUnsigned)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []uint64{0, 1, 123, 200000000, 18446744073709551615} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestLonglongSigned(t *testing.T) {
|
||||||
|
tbl := suite.createTable(mysql.ColumnTypeLonglong, "", attrNone)
|
||||||
|
defer tbl.drop(t)
|
||||||
|
|
||||||
|
for _, v := range []int64{-9223372036854775808, -1, 0, 1, 9223372036854775807} {
|
||||||
|
t.Run(fmt.Sprint(v), func(t *testing.T) {
|
||||||
|
suite.insertAndCompare(t, tbl, v)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user