def test_long(self): """ Test that find_anagrams runs in 1/10 of a second or faster. """ time = Timer(lambda: find_anagrams(self.long)).timeit(number=1) self.assertTrue( round(time, 3) <= 0.10, "find_anagrams ran in {}, which exceeds the " "threshhold of 0.10 seconds".format(round(time, 3)))
def run_find_anagrams(self, word_list, benchmark): my_time = Timer(lambda: find_anagrams(word_list)).timeit(number=1) my_time = round(my_time, 3) failure_text = ( 'find_anagrams took {} seconds, which exceeds the ' 'benchmark of {} seconds'.format(my_time, benchmark) ) self.assertTrue(my_time <= benchmark, failure_text)
def test_find_anagrams_of_word_does_not_exist(): eq_(anagrams.find_anagrams("cba", ("aaa", "asc")), [])
def test_anagrams(self): self.assertEqual(find_anagrams(['cat', 'dog', 'act']), { 'dgo': ['dog'], 'act': ['cat', 'act'] })
def test_find_anagrams_of_word_multiple(): eq_(anagrams.find_anagrams("cba", ("aaa", "abc", "bca")), ["abc", "bca"])
def test_find_anagrams_of_word_word_itself(): eq_(anagrams.find_anagrams("cba", ("cba", "abc")), ["cba", "abc"])
def test_find_anagrams_of_word(): eq_(anagrams.find_anagrams("cba", ("aaa", "abc")), ["abc"])
def test_anagrams_empty(self): words = ['rose', 'bike', 'spaghetti', 'bad', 'dog'] anagrams = find_anagrams(words) self.assertEqual(anagrams, [])
def test_anagrams(self): words = ['rose', 'bike', 'sore', 'spaghetti', 'bad', 'dog', 'god'] anagrams = find_anagrams(words) self.assertEqual(anagrams, [['rose', 'sore'], ['dog', 'god']])