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