package wildcard import "testing" // TestMatch - Tests validate the logic of wild card matching. // `Match` supports '*' and '?' wildcards. // Sample usage: In resource matching for bucket policy validation. func TestMatch(t *testing.T) { testCases := []struct { pattern string text string matched bool }{ { pattern: "The?Simpsons*", text: "The Simpsons S12", matched: true, }, { pattern: "The?Simpsons*", text: "The.Simpsons.S12", matched: true, }, { pattern: "The?Simpsons*", text: "The.Simps.S12", matched: false, }, } // Iterating over the test cases, call the function under test and asert the output. for i, testCase := range testCases { actualResult := Match(testCase.pattern, testCase.text) if testCase.matched != actualResult { t.Errorf("Test %d: Expected the result to be `%v`, but instead found it to be `%v`", i+1, testCase.matched, actualResult) } } }