Beispiel #1
0
def test_insertion(string: str):
    st = SuffixTree()
    st.insert_string(string)
    assert len([node for node in st.nodes
                if node.end is None]) == len(string) + 2
    for suffix in suffixes(string):
        assert suffix in st
Beispiel #2
0
def test_find_all(text_search_string_locations):
    text, search_string, locations = text_search_string_locations
    st = SuffixTree()
    st.insert_string(text)
    result = st.find_all(search_string)
    assert sorted([r[1] for r in result]) == sorted(locations)
Beispiel #3
0
def test_contains_not(text, search_term):
    st = SuffixTree()
    st.insert_string(text)
    assert search_term not in st
Beispiel #4
0
def test_occurrances(text_search_term_insertion_count):
    text, search_term, insertion_count = text_search_term_insertion_count
    st = SuffixTree()
    st.insert_string(text)
    assert st.occurrences(search_term) == insertion_count
Beispiel #5
0
def test_contains(text_and_search_term):
    text, search_term = text_and_search_term
    st = SuffixTree()
    st.insert_string(text)
    for suffix in suffixes(search_term):
        assert suffix in st