package regx_test import ( "testing" "git.jxs.me/leetgo/regx" "github.com/stretchr/testify/require" ) func TestEmpty(t *testing.T) { require.True(t, regx.IsMatch("", "")) } func TestSingleMatch(t *testing.T) { require.True(t, regx.IsMatch("a", "a")) } func TestSingleNonMatch(t *testing.T) { require.False(t, regx.IsMatch("b", "a")) } func TestMultiMatch(t *testing.T) { require.True(t, regx.IsMatch("aba", "aba")) } func TestMultiNonMatch(t *testing.T) { require.False(t, regx.IsMatch("abca", "abac")) } func TestWildMatch(t *testing.T) { require.True(t, regx.IsMatch("hello", "h.ll.")) } func TestWildNonMatch(t *testing.T) { require.False(t, regx.IsMatch("hello", "hall.")) } func TestManyMatch(t *testing.T) { require.True(t, regx.IsMatch("greeet", "gre*t")) } func TestManyMisMatch(t *testing.T) { require.True(t, regx.IsMatch("greet", "gre*a*t")) } func TestWildcardManyMatch(t *testing.T) { require.True(t, regx.IsMatch("anything", ".*")) } func TestWildcardNonGreedyMatch(t *testing.T) { require.True(t, regx.IsMatch("bbba", ".*a")) }