Remove duplicate code and add a test for the capitalize case
authorGregor Dschung <redacted>
Sat, 29 Jan 2022 12:37:14 +0000 (13:37 +0100)
committerGregor Dschung <redacted>
Sat, 29 Jan 2022 12:37:14 +0000 (13:37 +0100)
tests/test_xkcdpass.py
xkcdpass/xkcd_password.py

index f19b7cb9309b91214c49ef3d69908147eb6f96ee..85cddb94b44887280fe519d5931076f6f12f8a5a 100644 (file)
@@ -58,6 +58,7 @@ class XkcdPasswordTests(unittest.TestCase):
         results["lower"] = xkcd_password.set_case(words, method="lower")
         results["upper"] = xkcd_password.set_case(words, method="upper")
         results["first"] = xkcd_password.set_case(words, method="first")
+        results["capitalize"] = xkcd_password.set_case(words, method="capitalize")
         results["alternating"] = xkcd_password.set_case(words, method="alternating")
         results["random"] = xkcd_password.set_case(words, method="random", testing=True)
 
@@ -73,6 +74,7 @@ class XkcdPasswordTests(unittest.TestCase):
         self.assertTrue(all(word.islower() for word in results["lower"]))
         self.assertTrue(all(word.isupper() for word in results["upper"]))
         self.assertTrue(all(word.istitle() for word in results["first"]))
+        self.assertTrue(all(word.istitle() for word in results["capitalize"]))
         # Test that the words have been correctly uppered randomly.
         expected_random_result_1_py3 = ['THIS', 'IS', 'ONLY', 'a', 'GREAT', 'test']
         expected_random_result_2_py3 = ['THIS', 'IS', 'a', 'test', 'ALSO', 'GREAT']
index 901e232ebf70920e3332d08a64a17cb05eae4304..a7c98ecb12ce9d803bda5616154cfb3da7064a5e 100755 (executable)
@@ -252,18 +252,18 @@ def upper_case(words):
     """
     return [w.upper() for w in words]
 
-def first_upper_case(words):
-    """
-    Set First character of each word to UPPER case.
-    """
-    return [w.capitalize() for w in words]
-
 def lower_case(words):
     """
     Set ALL words to LOWER case.
     """
     return [w.lower() for w in words]
 
+def first_upper_case(words):
+    """
+    Set First character of each word to UPPER case.
+    """
+    return capitalize_case(words)
+
 def capitalize_case(words):
     """
     Set first letter of each words to UPPER case aka Capitalize.
git clone https://git.99rst.org/PROJECT