def test_substring_empty_trie(self): """ Tests substring operations on an empty trie. """ trie = naive_suffix_trie.build_suffix_trie("") assert naive_suffix_trie.substring(trie, "") assert not naive_suffix_trie.substring(trie, "a")
def test_substring_single_element_trie(self): """ Tests substring operations on a single element trie. """ trie = naive_suffix_trie.build_suffix_trie("a") assert naive_suffix_trie.substring(trie, "") assert naive_suffix_trie.substring(trie, "a") assert not naive_suffix_trie.substring(trie, "b") assert not naive_suffix_trie.substring(trie, "ab")
def test_substring_multi_element_trie(self): """ Tests substring operations on a multi-element trie. """ trie = naive_suffix_trie.build_suffix_trie("abba") expected = ["", "a", "ab", "abb", "abba", "b", "bb", "bba", "ba"] unexpected = ["aba", "aa", "abbaa"] for val in expected: assert naive_suffix_trie.substring(trie, val) for val in unexpected: assert not naive_suffix_trie.substring(trie, val)