Files
path/hasprefix_test.go
Ian Gulliver f50e6e228c Module split
2023-04-20 18:01:36 +00:00

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)
}