コード例 #1
0
ファイル: test_main.py プロジェクト: yilinli22/word_ladder
def test__word_ladder_fuzz():
    with open('words5.dict') as f:
        words = f.readlines()
        words = list(set([word.strip() for word in words]))
    for i in range(20):
        word1 = random.choice(words)
        word2 = random.choice(words)
        res1 = word_ladder(word1, word2)
        if res1 is not None:
            res2 = word_ladder(word2, word1)
            assert res1 is None and res2 is None or len(res1) == len(res2)
コード例 #2
0
    def test_no_path(self):
        start = 'hit'
        end = 'cog'
        words = ["hot", "dot", "dog", "lot", "log"]
        result = word_ladder(start, end, words)

        self.assertFalse(result)
コード例 #3
0
    def test_word_ladder(self):
        start = 'hit'
        end = 'cog'
        words = ["hot", "dot", "dog", "lot", "log", "cog"]
        result = word_ladder(start, end, words)

        result_set = [set(r) for r in result]
        self.assertIn(set(["hit", "hot", "dot", "dog", "cog"]), result_set)
        self.assertIn(set(["hit", "hot", "lot", "log", "cog"]), result_set)
コード例 #4
0
 def test_word_ladder_w_out_path(self):
     start = 'hit'
     end = 'bag'
     res = word_ladder(start, end, self.words)
     self.assertIsNone(res)
コード例 #5
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_7():
    ladder = word_ladder('babes', 'child')
    assert verify_word_ladder(ladder) and len(ladder) == 9
コード例 #6
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_6():
    ladder = word_ladder('phone', 'stone')
    assert verify_word_ladder(ladder) and len(ladder) == 3
コード例 #7
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_4():
    ladder = word_ladder('dears', 'fears')
    assert verify_word_ladder(ladder) and len(ladder) == 2
コード例 #8
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_2():
    ladder = word_ladder('aloof', 'aloof')
    assert verify_word_ladder(ladder) and len(ladder) == 1
コード例 #9
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_17():
    assert word_ladder('data', 'structures') is None
コード例 #10
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_16():
    assert word_ladder('aloof', 'money') is None
コード例 #11
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_15():
    assert word_ladder('atlas', 'zebra') is None
コード例 #12
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_14():
    ladder = word_ladder('money', 'stone')
    assert verify_word_ladder(ladder) and len(ladder) == 10
コード例 #13
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_12():
    ladder = word_ladder('smart', 'money')
    assert verify_word_ladder(ladder) and len(ladder) == 11
コード例 #14
0
ファイル: test_main.py プロジェクト: yismaeel21/word_ladder
def test__word_ladder_10():
    ladder = word_ladder('angel', 'devil')
    assert verify_word_ladder(ladder) and len(ladder) == 9
コード例 #15
0
ファイル: test_main.py プロジェクト: yilinli22/word_ladder
def test__word_ladder_16b():
    assert word_ladder('money', 'aloof') is None
コード例 #16
0
ファイル: test_main.py プロジェクト: yilinli22/word_ladder
def test__word_ladder_15b():
    assert word_ladder('zebra', 'atlas') is None