50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
// Package op_string ...
|
|
//
|
|
// Description : op_string ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2025-10-13 11:28
|
|
package op_string
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestToBaseValue(t *testing.T) {
|
|
Convey("测试ToBaseValue - uint64 转换成功", t, func() {
|
|
res := ToBaseTypeValue[uint64]("12345")
|
|
So(res.Err, ShouldBeNil)
|
|
So(res.Value, ShouldEqual, uint64(12345))
|
|
So(reflect.TypeOf(res.Value).Kind(), ShouldEqual, reflect.Uint64)
|
|
So(reflect.TypeOf(res.Value).Kind(), ShouldNotEqual, reflect.Uint32)
|
|
})
|
|
Convey("测试ToBaseValue - uint64 转换失败", t, func() {
|
|
res := ToBaseTypeValue[uint64]("s12345")
|
|
So(res.Err, ShouldNotBeNil)
|
|
So(res.Value, ShouldEqual, 0)
|
|
So(reflect.TypeOf(res.Value).Kind(), ShouldEqual, reflect.Uint64)
|
|
So(reflect.TypeOf(res.Value).Kind(), ShouldNotEqual, reflect.Uint32)
|
|
})
|
|
}
|
|
|
|
func TestToBaseValuePtr(t *testing.T) {
|
|
Convey("测试ToBasePtrValue - uint64 转换成功", t, func() {
|
|
res := ToBaseValuePtr[uint64]("12345")
|
|
So(res.Err, ShouldBeNil)
|
|
So(*res.Value, ShouldEqual, uint64(12345))
|
|
So(reflect.TypeOf(res.Value).Kind(), ShouldEqual, reflect.Ptr)
|
|
So(reflect.TypeOf(res.Value).Elem().Kind(), ShouldEqual, reflect.Uint64)
|
|
})
|
|
Convey("测试ToBasePtrValue - uint64 转换失败", t, func() {
|
|
res := ToBaseValuePtr[uint64]("s12345")
|
|
So(res.Err, ShouldNotBeNil)
|
|
So(res.Value, ShouldBeNil)
|
|
So(reflect.TypeOf(res.Value).Kind(), ShouldEqual, reflect.Ptr)
|
|
So(reflect.TypeOf(res.Value).Elem().Kind(), ShouldEqual, reflect.Uint64)
|
|
})
|
|
}
|