2019-10-18 09:56:38 +02:00
|
|
|
package qrm
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/google/uuid"
|
2020-05-09 11:00:22 +02:00
|
|
|
"github.com/stretchr/testify/require"
|
2019-10-18 09:56:38 +02:00
|
|
|
"reflect"
|
|
|
|
|
"testing"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestIsSimpleModelType(t *testing.T) {
|
2020-05-09 11:00:22 +02:00
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(int8(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(int16(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(int32(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(int64(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint8(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint16(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint32(11))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint64(11))))
|
2019-10-18 09:56:38 +02:00
|
|
|
|
2020-05-09 11:00:22 +02:00
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(float32(123.46))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(float64(123.46))))
|
2019-10-18 09:56:38 +02:00
|
|
|
|
2020-05-09 11:00:22 +02:00
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf([]byte("Text"))))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(time.Now())))
|
|
|
|
|
require.True(t, isSimpleModelType(reflect.TypeOf(uuid.New())))
|
2019-10-18 09:56:38 +02:00
|
|
|
|
|
|
|
|
complexModelType := struct {
|
|
|
|
|
Field1 string
|
|
|
|
|
Field2 string
|
|
|
|
|
}{}
|
|
|
|
|
|
2020-05-09 11:00:22 +02:00
|
|
|
require.Equal(t, isSimpleModelType(reflect.TypeOf(complexModelType)), false)
|
|
|
|
|
require.Equal(t, isSimpleModelType(reflect.TypeOf(&complexModelType)), false)
|
|
|
|
|
require.Equal(t, isSimpleModelType(reflect.TypeOf([]string{"str"})), false)
|
|
|
|
|
require.Equal(t, isSimpleModelType(reflect.TypeOf([]int{1, 2})), false)
|
2019-10-18 09:56:38 +02:00
|
|
|
}
|