Want to have option to capitalize first letter of each word.
authorSam Zaydel <redacted>
Sun, 1 Apr 2018 22:52:01 +0000 (15:52 -0700)
committerSam Zaydel <redacted>
Sun, 1 Apr 2018 22:52:01 +0000 (15:52 -0700)
tests/test_xkcdpass.py
xkcdpass/xkcd_password.py

index 88579fde86adcd4c38c22e94e8c44d8ca53ecde0..6350df2dc25acd07ce847a1ac560d1e55193fbcf 100644 (file)
@@ -75,6 +75,7 @@ class XkcdPasswordTests(unittest.TestCase):
         results["upper"] = xkcd_password.set_case(words, method="upper")
         results["alternating"] = xkcd_password.set_case(words, method="alternating")
         results["random"] = xkcd_password.set_case(words, method="random", testing=True)
+        results["first"] = xkcd_password.set_case(words, method="first")
 
         words_after = set(word.lower() for group in list(results.values()) for word in group)
 
@@ -84,6 +85,7 @@ class XkcdPasswordTests(unittest.TestCase):
         # 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.istitle() for word in results["first"]))
         # 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']
index 78b0b69e83062b3d7f0fbbf1db674acf894f48ad..fe4d8a88a225479f71f1d5a646b0a05b572ae4b3 100755 (executable)
@@ -240,6 +240,11 @@ 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):
     """
@@ -268,7 +273,9 @@ def random_case(words, testing=False):
 CASE_METHODS = {"alternating": alternating_case,
                 "upper": upper_case,
                 "lower": lower_case,
-                "random": random_case}
+                "random": random_case,
+                "first": first_upper_case,
+                }
 
 
 def set_case(words, method="lower", testing=False):
git clone https://git.99rst.org/PROJECT