mirror of
https://github.com/datarhei/core.git
synced 2025-11-03 02:23:42 +08:00
Add tests
This commit is contained in:
147
config/value/primitives_test.go
Normal file
147
config/value/primitives_test.go
Normal file
@@ -0,0 +1,147 @@
|
||||
package value
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestStringValue(t *testing.T) {
|
||||
var x string
|
||||
|
||||
val := NewString(&x, "foobar")
|
||||
|
||||
require.Equal(t, "foobar", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
x = "foobaz"
|
||||
|
||||
require.Equal(t, "foobaz", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("fooboz")
|
||||
|
||||
require.Equal(t, "fooboz", x)
|
||||
}
|
||||
|
||||
func TestStringListValue(t *testing.T) {
|
||||
var x []string
|
||||
|
||||
val := NewStringList(&x, []string{"foobar"}, " ")
|
||||
|
||||
require.Equal(t, "foobar", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
x = []string{"foobar", "foobaz"}
|
||||
|
||||
require.Equal(t, "foobar foobaz", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("fooboz foobar")
|
||||
|
||||
require.Equal(t, []string{"fooboz", "foobar"}, x)
|
||||
}
|
||||
|
||||
func TestStringMapStringValue(t *testing.T) {
|
||||
var x map[string]string
|
||||
|
||||
val := NewStringMapString(&x, map[string]string{"a": "foobar"})
|
||||
|
||||
require.Equal(t, "a:foobar", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
x = map[string]string{"a": "foobar", "b": "foobaz"}
|
||||
|
||||
require.Equal(t, "a:foobar b:foobaz", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("x:fooboz y:foobar")
|
||||
|
||||
require.Equal(t, map[string]string{"x": "fooboz", "y": "foobar"}, x)
|
||||
}
|
||||
|
||||
func TestBoolValue(t *testing.T) {
|
||||
var x bool
|
||||
|
||||
val := NewBool(&x, false)
|
||||
|
||||
require.Equal(t, "false", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, true, val.IsEmpty())
|
||||
|
||||
x = true
|
||||
|
||||
require.Equal(t, "true", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("false")
|
||||
|
||||
require.Equal(t, false, x)
|
||||
}
|
||||
|
||||
func TestIntValue(t *testing.T) {
|
||||
var x int
|
||||
|
||||
val := NewInt(&x, 11)
|
||||
|
||||
require.Equal(t, "11", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
x = 42
|
||||
|
||||
require.Equal(t, "42", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("77")
|
||||
|
||||
require.Equal(t, int(77), x)
|
||||
}
|
||||
|
||||
func TestInt64Value(t *testing.T) {
|
||||
var x int64
|
||||
|
||||
val := NewInt64(&x, 11)
|
||||
|
||||
require.Equal(t, "11", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
x = 42
|
||||
|
||||
require.Equal(t, "42", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("77")
|
||||
|
||||
require.Equal(t, int64(77), x)
|
||||
}
|
||||
|
||||
func TestUint64Value(t *testing.T) {
|
||||
var x uint64
|
||||
|
||||
val := NewUint64(&x, 11)
|
||||
|
||||
require.Equal(t, "11", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
x = 42
|
||||
|
||||
require.Equal(t, "42", val.String())
|
||||
require.Equal(t, nil, val.Validate())
|
||||
require.Equal(t, false, val.IsEmpty())
|
||||
|
||||
val.Set("77")
|
||||
|
||||
require.Equal(t, uint64(77), x)
|
||||
}
|
||||
Reference in New Issue
Block a user