def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     assert contains('🤬🤩🤓🐛🙋‍♂️', '🤬') is True  # overlapping prefix
Exemple #2
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     assert contains('aaaaaaaaab', 'b') is True  # overlapping prefix
Exemple #3
0
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     assert contains('abc', 'abcd') is False  # partial pattern in text
Exemple #4
0
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     # TODO: Write more negative test cases with assert is False statements
     assert contains('', 'a') is False
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     # Write more test cases that check complex patterns or edge cases
     assert contains('ahnananacomeon', 'comeon') is True
Exemple #6
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     # TODO: Write more test cases that check complex patterns or edge cases
     # You'll need a lot more than this to test your algorithm's robustness
     assert contains('xdzxdxdlol', 'xdz') is True
Exemple #7
0
 def test_contains_with_matching_patterns(self):
     # Positive test cases (examples) with matching patterns
     assert contains('abc', '') is True  # all strings contain empty string
     assert contains('abc', 'a') is True  # single letters are easy
     assert contains('abc', 'b') is True
     assert contains('abc', 'c') is True
     assert contains('abc', 'ab') is True  # multiple letters are harder
     assert contains('abc', 'bc') is True
     assert contains('abc', 'abc') is True  # all strings contain themselves
     assert contains('aaa', 'a') is True  # multiple occurrences
     assert contains('aaa', 'aa') is True  # overlapping pattern
     assert contains('aaa', 'aaa') is True  # pattern is the whole string
Exemple #8
0
 def test_contains_with_matching_patterns(self):
     # Positive test cases (examples) with matching patterns
     assert contains('abc', '') is True  # all strings contain empty string
     assert contains('abc', 'a') is True  # single letters are easy
     assert contains('abc', 'b') is True
     assert contains('abc', 'c') is True
     assert contains('abc', 'ab') is True  # multiple letters are harder
     assert contains('abc', 'bc') is True
     assert contains('abc', 'abc') is True  # all strings contain themselves
     assert contains('aaa', 'a') is True  # multiple occurrences
     assert contains('aaa', 'aa') is True  # overlapping pattern
     # TODO: Write more positive test cases with assert is True statements
     assert contains('zzz', 'z') is True
Exemple #9
0
    def test_contains_with_non_matching_patterns(self):
        # Negative test cases (counterexamples) with non-matching patterns
        assert contains('abc', 'z') is False  # remember to test other letters
        assert contains('abc', 'ac') is False  # important to test close cases
        assert contains('abc', 'az') is False  # first letter, but not last
        assert contains('abc', 'abz') is False  # first 2 letters, but not last

        assert contains('hyped', 'l') is False
        assert contains('hyped', ' ') is False
        assert contains('hyped', 'hhy') is False
        assert contains('hyped', 'ypod') is False

        assert contains('n', '\n') is False  # escape characters
        assert contains('[[]]', '[[[]]') is False  # non alpha characters
Exemple #10
0
    def test_random_strings_with_matching(self):
        tstring = ''
        for i in range(10000):
            tstring += chr(random.randint(96, 120))
        lwr = random.randint(0, 10000)

        tterm = tstring[lwr:random.randint(lwr, 10000)]
        assert contains(tstring, tterm)

        tterm = tstring[lwr:random.randint(lwr, 10000)]
        assert contains(tstring, tterm)

        tterm = tstring[lwr:random.randint(lwr, 10000)]
        assert contains(tstring, tterm)

        tterm = tstring[lwr:random.randint(lwr, 10000)]
        assert contains(tstring, tterm)
Exemple #11
0
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     assert contains('road', 'h') is False
     assert contains('cloose', 'close') is False
     assert contains('helllo', 'hello') is False
     assert contains('hooray', 'no') is False
Exemple #12
0
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     assert contains('bookshelf', 'no books') is False
     assert contains('wackadoodledoo', 'abc') is False
     assert contains('1234456131343141322222ab', 'qr') is False
     assert contains('!!!!!!!!!!', 'abcdefg') is False
Exemple #13
0
    def test_contains_with_complex_patterns(self):
        # Difficult test cases (examples) with complex patterns
        assert contains('ababc', 'ab') is True  # multiple occurrences
        assert contains('banana', 'na') is True  # multiple occurrences
        assert contains('ababc', 'abc') is True  # overlapping prefix
        assert contains('bananas', 'nas') is True  # overlapping prefix

        # TODO: Write more test cases that check complex patterns or edge cases
        # You'll need a lot more than this to teassert contains('bananas', 'nas') is True st your algorithm's robustness
        assert contains('monkey dunkey',
                        'dunkey') is True  #suffix which is seperate word
        assert contains('monkey dunkey', ' ') is True  # space char
        assert contains('monkey dunkey', '') is True  # empty space char
        assert contains('monkey dunkey', ' dunkey') is True
        assert contains('monkey dunkey',
                        'monkey dunkey') is True  #Compare text entirety
        assert contains('mon$e#y d@nk^y',
                        'dunkey') is False  #Dont break on special chars
Exemple #14
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     # TODO: Write more test cases that check complex patterns or edge cases
     assert contains('defeat', 'ea') is True
     assert contains('seven', 'en') is True
     assert contains('110011010', '010') is True
     assert contains('boom bam bop bada bop boump pow', 'ou') is True
Exemple #15
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     assert contains('oooooooooh', 'oooh') == True
     assert contains('oooooh', 'oooh') == True
     assert contains('[][][]][][[][][][][[[]]]]]]', ']]]]') == True
     assert contains('..,,.. ,,.,. ,., ,,,,.... ,,,,,,..... .,.',
                     ' .,.') == True  # obscure and space
Exemple #16
0
 def test_contains_with_complex(self):
     assert contains('lkasjdlsak', 'l') is True
     assert contains('2', '') is True
     assert contains('12', '') is True
     assert contains('$$$', '!') is False
     assert contains(';', '0') is False
     assert contains('kome', 'love') is False
     assert contains('Japan', 'n') is True
Exemple #17
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     # TODO: Write more test cases that check complex patterns or edge cases
     # You'll need a lot more than this to test your algorithm's robustness
     assert contains('Long live all the mountains we moved', 'we') is True
     assert contains('its delicate', 'deli') is True
     assert contains('shooby doo bap bap', 'o bap') is True
     assert contains('housemate', 'house') is True
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     # TODO: Write more test cases that check complex patterns or edge cases
     # You'll need a lot more than this to test your algorithm's robustness
     assert contains('mississippi', 'miss') is True
     assert contains('googoogaagaa', 'aagaa') is True
     assert contains('lollipop', 'lipop') is True
     assert contains('hidden', 'idden') is True
Exemple #19
0
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     assert contains('hello', 'aba') is False
     assert contains('farfignugen', 'fart') is False
     assert contains('trouble', 'in') is False
Exemple #20
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     assert contains('vroomvroom', 'room') is True
     assert contains('flibbertigibbet', 'bbe') is True
     assert contains('blartblartblart', 'art') is True
Exemple #21
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains("ababc", "ab") is True  # multiple occurrences
     assert contains("banana", "na") is True  # multiple occurrences
     assert contains("ababc", "abc") is True  # overlapping prefix
     assert contains("bananas", "nas") is True  # overlapping prefix
     assert contains("BOOMBOOMBOMBBOOMB", "bomb") is True
     assert contains("havannaoonana", "nna") is True
     assert contains("**__yeet__**", "yeet") is True
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     assert contains('captalienisawesome','alien') is True
     assert contains('whereswaldo', 'waldo') is True
     assert contains('obamalamabobammbanananafofamafeefifofamaobama', 'fofama') is True
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     assert contains('thenorthpole', 'thesouth') is False
     assert contains('santawasalie', 'wastrue') is False
     assert contains('friesaretasty', 'tazty') is False
Exemple #24
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     assert contains('Who are you?', ' y') is True
     assert contains('What is happening?', 'g?g') is False
     assert contains('What is happening?', 'g?g????') is False
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     self.assertTrue(contains('aaaaababbabc', 'abc'))
     self.assertTrue(contains('wingardium leviosa', 'M l'))
     self.assertTrue(contains('bb Beibi/be', 'be'))
     self.assertTrue(find_index("rat a tat cat", "at"))
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains('abc', 'z') is False  # remember to test other letters
     assert contains('abc', 'ac') is False  # important to test close cases
     assert contains('abc', 'az') is False  # first letter, but not last
     assert contains('abc', 'abz') is False  # first 2 letters, but not last
     # TODO: Write more negative test cases with assert is False statements
     assert contains('zyx', 'gg') is False
     assert contains('thisshuldreturnfalse', 'truetrue') is False
     assert contains('daftpunk', 'punkdaft') is False
Exemple #27
0
 def test_contains_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert contains("abc", "z") is False  # remember to test other letters
     assert contains("abc", "ac") is False  # important to test close cases
     assert contains("abc", "az") is False  # first letter, but not last
     assert contains("abc", "abz") is False  # first 2 letters, but not last
     # TODO: Write more negative test cases with assert is False statements
     assert contains("dogdogdogdogdogdog", "dogg") is False
     assert contains("dogdogdogdogdogdogdeeeeez", "deez") is False
     assert contains("hellodarknessmyoldfriend", "dankness") is False
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     assert contains('aaaaaahhhhhaaaaapoleflewaaaaaaaaaaahhhh',
                     'ahhhh') is True
     assert contains('oooooooooooooooooooooooooooh', 'ooh') is True
     assert contains('zootoooopiaaaaooooooopiiaazzz', 'opii') is True
Exemple #29
0
 def test_find_index_with_non_matching_patterns(self):
     # Negative test cases (counterexamples) with non-matching patterns
     assert find_index('abc', 'z') is None  # remember to test other letters
     assert find_index('abc', 'ac') is None  # important to test close cases
     assert find_index('abc', 'az') is None  # first letter, but not last
     assert find_index('abc',
                       'abz') is None  # first 2 letters, but not last
     assert find_index('abc',
                       'zab') is None  # last 2 letters, but not first
     assert contains(
         '', ''
     ) is False  # does an empty string contain itself? My code doesn't think so.
Exemple #30
0
 def test_contains_with_complex_patterns(self):
     # Difficult test cases (examples) with complex patterns
     assert contains('ababc', 'ab') is True  # multiple occurrences
     assert contains('banana', 'na') is True  # multiple occurrences
     assert contains('ababc', 'abc') is True  # overlapping prefix
     assert contains('bananas', 'nas') is True  # overlapping prefix
     # My test cases
     assert contains('This Has Cases', 'as Case') is True
     assert contains('This Has Cases', 'as case') is False
     assert contains('This! This. This? has punctuation...', 'This?') is True