matchesTest = TestCase (do
    let test1 = matches "" 'a'
    let test2 = matches "abc" 'a'
    let test3 = matches "abc" 'c'
    let test4 = matches "abc" 'z'
    
    assertEqual "Test 1 should not match" False test1
    assertEqual "Test 2 should match" True test2
    assertEqual "Test 3 should match" True test3
    assertEqual "Test 4 should not match" False test4
    )
matchesTest = TestCase (do
    let test1 = matches "" 'a'
    let test2 = matches "abc" 'a'
    let test3 = matches "abc" 'c'
    let test4 = matches "abc" 'z'
    
    assertEqual "Test 1 should not match" False test1
    assertEqual "Test 2 should match" True test2
    assertEqual "Test 3 should match" True test3
    assertEqual "Test 4 should not match" False test4
    )
matchesTest = TestCase (do
    let test1 = matches "" 'a'
    let test2 = matches "abc" 'a'
    let test3 = matches "abc" 'c'
    let test4 = matches "abc" 'z'
    
    assertEqual "Test 1 should not match" False test1
    assertEqual "Test 2 should match" True test2
    assertEqual "Test 3 should match" True test3
    assertEqual "Test 4 should not match" False test4
    )