From: Rahul Goswami Date: Thu, 1 Mar 2018 16:23:26 +0000 (+0530) Subject: Replaced list comprehensions with generator expressions. X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=4fdcb85255a2c2e3e36b64fc823874443d8c3bf4;p=redacted-XKCD-password-generator.git Replaced list comprehensions with generator expressions. Previously, a list had to be created which was not necessary and hindered performance. Generator expression handles this in the correct way. Also now the all() can be shortcircuited as soon as it finds first False value and not goes through the complete list. --- diff --git a/tests/test_xkcdpass.py b/tests/test_xkcdpass.py index dd3eccc..88579fd 100644 --- a/tests/test_xkcdpass.py +++ b/tests/test_xkcdpass.py @@ -76,15 +76,14 @@ class XkcdPasswordTests(unittest.TestCase): results["alternating"] = xkcd_password.set_case(words, method="alternating") results["random"] = xkcd_password.set_case(words, method="random", testing=True) - words_after = set([word.lower() for group in list(results.values()) for word in group]) + words_after = set(word.lower() for group in list(results.values()) for word in group) # Test that no words have been fundamentally mutated by any of the methods self.assertTrue(words_before == words_after) # Test that the words have been uppered or lowered respectively. - self.assertTrue(all([word.islower() for word in results["lower"]])) - self.assertTrue(all([word.isupper() for word in results["upper"]])) - + self.assertTrue(all(word.islower() for word in results["lower"])) + self.assertTrue(all(word.isupper() for word in results["upper"])) # Test that the words have been correctly uppered randomly. expected_random_result_1 = ['THIS', 'IS', 'ONLY', 'a', 'test'] expected_random_result_2 = ['THIS', 'IS', 'a', 'test', 'ALSO']