def test_build_function(self): ### Arrange source_word = "abcd" words = ["xbcd", "axcd", "abxd", "abcx", "vbcd"] visited = dict.fromkeys(["vbcd"]) adjacent = [] ### Act # Iterate the wildcard through each position of the regex pattern for i in range(len(source_word)): adjacent += word_ladder.build( source_word[:i] + "." + source_word[i + 1:], words, visited, adjacent) ### Assert self.assertTrue( all(x in ["xbcd", "axcd", "abxd", "abcx"] for x in adjacent)) self.assertTrue("vbcd" not in adjacent)
def test_build(self): self.assertFalse(word_ladder.build(".ide", "side, site, sits, sies, sees, seek", {"seek": True}, []) == False) self.assertFalse(word_ladder.build(".ead", "load, goad, gold", {"gold": True}, []) == False)
def test_build(self): #invalid inputs for build will retrun false self.assertFalse(word_ladder.build("asdsf", "asdfsdf", "msdfsdfh", []))
def test_build(self): self.assertFalse( word_ladder.build(".ead", "bead, mead, dead, head, lead", {"lead": True}, []) == False)
def test_build1(self): self.assertEqual( build('.ead', words, seen, ['bead', 'dead', 'head', 'mead', 'read']), word)
def test_buildInvalid1(self): words = ['aide', 'bide', 'down', 'hide', 'loan', 'side', 'seek'] seen = {"the": True} list = [] self.assertFalse(word_ladder.build(".he", words, seen, list))
def test_buildValid2(self): words = ['coal', 'down', 'goal', 'sole', 'foal', 'load', 'loan', 'moan', 'seek'] seen = {"load": True} list = ['coal'] self.assertEqual(word_ladder.build(".oal", words, seen, list), ['goal', 'foal'])
def test_buildValid1(self): words = ['aide', 'bide', 'down', 'hide', 'loan', 'side', 'seek'] seen = {"hide": True} list = [] self.assertEqual(word_ladder.build(".ide", words, seen, list), ['aide', 'bide', 'side'])