mirror of
https://gitee.com/johng/gf.git
synced 2024-12-04 05:07:44 +08:00
173 lines
4.9 KiB
Go
173 lines
4.9 KiB
Go
// Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
|
|
//
|
|
// This Source Code Form is subject to the terms of the MIT License.
|
|
// If a copy of the MIT was not distributed with this file,
|
|
// You can obtain one at https://github.com/gogf/gf.
|
|
|
|
package utils_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/internal/utils"
|
|
"github.com/gogf/gf/v2/test/gtest"
|
|
)
|
|
|
|
func TestVar_IsNil(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsNil(0), false)
|
|
t.Assert(utils.IsNil(nil), true)
|
|
t.Assert(utils.IsNil(g.Map{}), false)
|
|
t.Assert(utils.IsNil(g.Slice{}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsNil(1), false)
|
|
t.Assert(utils.IsNil(0.1), false)
|
|
t.Assert(utils.IsNil(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsNil(g.Slice{0}), false)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsEmpty(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsEmpty(0), true)
|
|
t.Assert(utils.IsEmpty(nil), true)
|
|
t.Assert(utils.IsEmpty(g.Map{}), true)
|
|
t.Assert(utils.IsEmpty(g.Slice{}), true)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsEmpty(1), false)
|
|
t.Assert(utils.IsEmpty(0.1), false)
|
|
t.Assert(utils.IsEmpty(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsEmpty(g.Slice{0}), false)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsInt(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsInt(0), true)
|
|
t.Assert(utils.IsInt(nil), false)
|
|
t.Assert(utils.IsInt(g.Map{}), false)
|
|
t.Assert(utils.IsInt(g.Slice{}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsInt(1), true)
|
|
t.Assert(utils.IsInt(-1), true)
|
|
t.Assert(utils.IsInt(0.1), false)
|
|
t.Assert(utils.IsInt(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsInt(g.Slice{0}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsInt(int8(1)), true)
|
|
t.Assert(utils.IsInt(uint8(1)), false)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsUint(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsUint(0), false)
|
|
t.Assert(utils.IsUint(nil), false)
|
|
t.Assert(utils.IsUint(g.Map{}), false)
|
|
t.Assert(utils.IsUint(g.Slice{}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsUint(1), false)
|
|
t.Assert(utils.IsUint(-1), false)
|
|
t.Assert(utils.IsUint(0.1), false)
|
|
t.Assert(utils.IsUint(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsUint(g.Slice{0}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsUint(int8(1)), false)
|
|
t.Assert(utils.IsUint(uint8(1)), true)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsFloat(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsFloat(0), false)
|
|
t.Assert(utils.IsFloat(nil), false)
|
|
t.Assert(utils.IsFloat(g.Map{}), false)
|
|
t.Assert(utils.IsFloat(g.Slice{}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsFloat(1), false)
|
|
t.Assert(utils.IsFloat(-1), false)
|
|
t.Assert(utils.IsFloat(0.1), true)
|
|
t.Assert(utils.IsFloat(float64(1)), true)
|
|
t.Assert(utils.IsFloat(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsFloat(g.Slice{0}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsFloat(int8(1)), false)
|
|
t.Assert(utils.IsFloat(uint8(1)), false)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsSlice(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsSlice(0), false)
|
|
t.Assert(utils.IsSlice(nil), false)
|
|
t.Assert(utils.IsSlice(g.Map{}), false)
|
|
t.Assert(utils.IsSlice(g.Slice{}), true)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsSlice(1), false)
|
|
t.Assert(utils.IsSlice(-1), false)
|
|
t.Assert(utils.IsSlice(0.1), false)
|
|
t.Assert(utils.IsSlice(float64(1)), false)
|
|
t.Assert(utils.IsSlice(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsSlice(g.Slice{0}), true)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsSlice(int8(1)), false)
|
|
t.Assert(utils.IsSlice(uint8(1)), false)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsMap(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsMap(0), false)
|
|
t.Assert(utils.IsMap(nil), false)
|
|
t.Assert(utils.IsMap(g.Map{}), true)
|
|
t.Assert(utils.IsMap(g.Slice{}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsMap(1), false)
|
|
t.Assert(utils.IsMap(-1), false)
|
|
t.Assert(utils.IsMap(0.1), false)
|
|
t.Assert(utils.IsMap(float64(1)), false)
|
|
t.Assert(utils.IsMap(g.Map{"k": "v"}), true)
|
|
t.Assert(utils.IsMap(g.Slice{0}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsMap(int8(1)), false)
|
|
t.Assert(utils.IsMap(uint8(1)), false)
|
|
})
|
|
}
|
|
|
|
func TestVar_IsStruct(t *testing.T) {
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsStruct(0), false)
|
|
t.Assert(utils.IsStruct(nil), false)
|
|
t.Assert(utils.IsStruct(g.Map{}), false)
|
|
t.Assert(utils.IsStruct(g.Slice{}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
t.Assert(utils.IsStruct(1), false)
|
|
t.Assert(utils.IsStruct(-1), false)
|
|
t.Assert(utils.IsStruct(0.1), false)
|
|
t.Assert(utils.IsStruct(float64(1)), false)
|
|
t.Assert(utils.IsStruct(g.Map{"k": "v"}), false)
|
|
t.Assert(utils.IsStruct(g.Slice{0}), false)
|
|
})
|
|
gtest.C(t, func(t *gtest.T) {
|
|
a := &struct {
|
|
}{}
|
|
t.Assert(utils.IsStruct(a), true)
|
|
t.Assert(utils.IsStruct(*a), true)
|
|
t.Assert(utils.IsStruct(&a), true)
|
|
})
|
|
}
|