You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
684 B
28 lines
684 B
package value_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"gitoa.ru/go-4devs/console/input/value"
|
|
)
|
|
|
|
func TestStringUnmarshal(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
st := value.New("test")
|
|
sta := value.New([]string{"test1", "test2"})
|
|
|
|
ac := ""
|
|
require.NoError(t, st.Unmarshal(&ac))
|
|
require.Equal(t, "test", ac)
|
|
|
|
aca := []string{}
|
|
require.NoError(t, sta.Unmarshal(&aca))
|
|
require.Equal(t, []string{"test1", "test2"}, aca)
|
|
|
|
require.ErrorIs(t, sta.Unmarshal(ac), value.ErrWrongType)
|
|
require.ErrorIs(t, sta.Unmarshal(&ac), value.ErrWrongType)
|
|
require.ErrorIs(t, st.Unmarshal(aca), value.ErrWrongType)
|
|
require.ErrorIs(t, st.Unmarshal(&aca), value.ErrWrongType)
|
|
}
|
|
|