Exemplo n.º 1
0
def test_search_tree():
    phrase = "appleandlamas"
    HashProp.set_hash_obj(HashProp("plain", "data/sample-to-find-3.txt"))
    phrase_dict, phrase_len = utils.phrase_to_dict(phrase)
    letter_tree, words = LetterBranch.parse_words(phrase_dict, "data/sample")
    LetterBranch.set_letter_tree(letter_tree)

    word_tree, word_tree_children = WordBranch.get_word_tree_root(
        phrase_len, phrase_dict, words)

    # Check I got the 'apple' word_branch.
    word = word_tree_children[2]
    assert str(word.letter_branch) == 'apple'
Exemplo n.º 2
0
def test_complex_branching_3():
    HashProp.set_hash_obj(HashProp("plain", "data/sample2-to-find-3.txt"))
    phrase = "andlamasgroves"
    phrase_dict, phrase_len = utils.phrase_to_dict(phrase)
    print(phrase_dict)
    print(phrase_len)

    letter_tree, words = LetterBranch.parse_words(phrase_dict, "data/sample2")
    LetterBranch.set_letter_tree(letter_tree)

    word_tree, word_tree_children = WordBranch.get_word_tree_root(
        phrase_len, phrase_dict, words)
    construct_word_tree_start(word_tree, word_tree_children)

    anagrams = search_solved_anagrams_start(word_tree, word_tree_children)
    for anagram in anagrams:
        print(anagram)

    assert len(anagrams) == 7
Exemplo n.º 3
0
def test_anagram_solutions_4():
    HashProp.set_hash_obj(HashProp("plain", "data/sample-to-find-4.txt"))
    phrase = "andapplegroveslamas"
    phrase_dict, phrase_len = utils.phrase_to_dict(phrase)
    print(phrase_dict)
    print(phrase_len)

    letter_tree, words = LetterBranch.parse_words(phrase_dict, "data/sample")
    LetterBranch.set_letter_tree(letter_tree)

    word_tree, word_tree_children = WordBranch.get_word_tree_root(
        phrase_len, phrase_dict, words)
    construct_word_tree_start(word_tree, word_tree_children)
    ''' Should produce 24 solutions:
    '''
    anagrams = search_solved_anagrams_start(word_tree, word_tree_children)
    for anagram in anagrams:
        print(anagram)

    assert len(anagrams) == 24
Exemplo n.º 4
0
if __name__ == "__main__":
    args = sys.argv
    if len(args) == 5:
        start_time = timeit.default_timer()  # Time

        phrase = args[1]
        wordlist_filename = args[2]
        hash_algo = args[3]
        hash_filename = args[4]

        phrase_dict, phrase_len = utils.phrase_to_dict(phrase)
        hash_obj = HashProp(hash_algo, hash_filename)
        HashProp.set_hash_obj(hash_obj)

        letter_tree, words = LetterBranch.parse_words(phrase_dict,
                                                      wordlist_filename)
        LetterBranch.set_letter_tree(letter_tree)

        word_tree, word_tree_children = WordBranch.get_word_tree_root(
            phrase_len, phrase_dict, words)
        construct_word_tree_start(word_tree, word_tree_children)

        anagrams = search_solved_anagrams_start(word_tree, word_tree_children)

        elapsed = timeit.default_timer() - start_time  # Time
        print('Time elapsed --> ', elapsed, 'seconds')
    else:
        print(
            'Invalid arguments, expecting: "phrase" word_file "hash algo" hashes_file'
        )