improve tests
This commit is contained in:
parent
4b3ca2dd42
commit
6119c63a66
|
@ -565,7 +565,7 @@ func (p *sqlite3Driver) GenScanResult(colType string) (interface{}, error) {
|
||||||
case "REAL":
|
case "REAL":
|
||||||
var s sql.NullFloat64
|
var s sql.NullFloat64
|
||||||
return &s, nil
|
return &s, nil
|
||||||
case "NUMERIC":
|
case "NUMERIC", "DECIMAL":
|
||||||
var s sql.NullString
|
var s sql.NullString
|
||||||
return &s, nil
|
return &s, nil
|
||||||
case "BLOB":
|
case "BLOB":
|
||||||
|
|
|
@ -771,12 +771,13 @@ func TestGetNil(t *testing.T) {
|
||||||
func TestGetBigFloat(t *testing.T) {
|
func TestGetBigFloat(t *testing.T) {
|
||||||
type GetBigFloat struct {
|
type GetBigFloat struct {
|
||||||
Id int64
|
Id int64
|
||||||
Money *big.Float `xorm:"numeric"`
|
Money *big.Float `xorm:"numeric(22,2)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
assert.NoError(t, PrepareEngine())
|
assert.NoError(t, PrepareEngine())
|
||||||
assertSync(t, new(GetBigFloat))
|
assertSync(t, new(GetBigFloat))
|
||||||
|
|
||||||
|
{
|
||||||
var gf = GetBigFloat{
|
var gf = GetBigFloat{
|
||||||
Money: big.NewFloat(999999.99),
|
Money: big.NewFloat(999999.99),
|
||||||
}
|
}
|
||||||
|
@ -787,7 +788,32 @@ func TestGetBigFloat(t *testing.T) {
|
||||||
has, err := testEngine.Table("get_big_float").Cols("money").Where("id=?", gf.Id).Get(&m)
|
has, err := testEngine.Table("get_big_float").Cols("money").Where("id=?", gf.Id).Get(&m)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.True(t, m.String() == gf.Money.String())
|
assert.True(t, m.String() == gf.Money.String(), "%v != %v", m.String(), gf.Money.String())
|
||||||
//fmt.Println(m.Cmp(gf.Money))
|
//fmt.Println(m.Cmp(gf.Money))
|
||||||
//assert.True(t, m.Cmp(gf.Money) == 0, "%v != %v", m.String(), gf.Money.String())
|
//assert.True(t, m.Cmp(gf.Money) == 0, "%v != %v", m.String(), gf.Money.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetBigFloat2 struct {
|
||||||
|
Id int64
|
||||||
|
Money *big.Float `xorm:"decimal(22,2)"`
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, PrepareEngine())
|
||||||
|
assertSync(t, new(GetBigFloat2))
|
||||||
|
|
||||||
|
{
|
||||||
|
var gf2 = GetBigFloat2{
|
||||||
|
Money: big.NewFloat(9999999.99),
|
||||||
|
}
|
||||||
|
_, err := testEngine.Insert(&gf2)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
var m2 big.Float
|
||||||
|
has, err := testEngine.Table("get_big_float2").Cols("money").Where("id=?", gf2.Id).Get(&m2)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.True(t, m2.String() == gf2.Money.String(), "%v != %v", m2.String(), gf2.Money.String())
|
||||||
|
//fmt.Println(m.Cmp(gf.Money))
|
||||||
|
//assert.True(t, m.Cmp(gf.Money) == 0, "%v != %v", m.String(), gf.Money.String())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue