153 lines
2.9 KiB
Go
153 lines
2.9 KiB
Go
package path_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/gopatchy/path"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestHasPrefixInt(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
Int: -1234,
|
|
}, "int", "-12")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
Int: -1234,
|
|
}, "int", "23")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixInt64(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
Int64: 3456,
|
|
}, "int64", "34")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
Int64: 3456,
|
|
}, "int64", "45")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixUInt(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
UInt: 4567,
|
|
}, "uint", "45")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
UInt: 4567,
|
|
}, "uint", "457")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixUInt64(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
UInt64: 5678,
|
|
}, "uint64", "567")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
UInt64: 5678,
|
|
}, "uint64", "56789")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixFloat32(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
Float32: -3.1415,
|
|
}, "float32", "-3.14")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
Float32: -3.1415,
|
|
}, "float32", "3.14")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixFloat64(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
Float64: 3.14159265,
|
|
}, "float64", "3.1415926")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
Float64: 3.14159265,
|
|
}, "float64", "3.141592651")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixString(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
String: "foobar",
|
|
}, "string2", "foo")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
String: "foobar",
|
|
}, "string2", "bar")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixBool(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
Bool: true,
|
|
}, "bool2", "t")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
Bool: true,
|
|
}, "bool2", "f")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|
|
|
|
func TestHasPrefixStrings(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
match, err := path.HasPrefix(&testType1{
|
|
Strings: []string{"foo", "bar"},
|
|
}, "strings", "f")
|
|
require.NoError(t, err)
|
|
require.True(t, match)
|
|
|
|
match, err = path.HasPrefix(&testType1{
|
|
Strings: []string{"foo", "bar"},
|
|
}, "strings", "z")
|
|
require.NoError(t, err)
|
|
require.False(t, match)
|
|
}
|