From: Gregor Dschung Date: Sat, 29 Jan 2022 12:37:14 +0000 (+0100) Subject: Remove duplicate code and add a test for the capitalize case X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=044c5653b487fec17ebe838c1bcdbbb793c8a3d5;p=redacted-XKCD-password-generator.git Remove duplicate code and add a test for the capitalize case --- diff --git a/tests/test_xkcdpass.py b/tests/test_xkcdpass.py index f19b7cb..85cddb9 100644 --- a/tests/test_xkcdpass.py +++ b/tests/test_xkcdpass.py @@ -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'] diff --git a/xkcdpass/xkcd_password.py b/xkcdpass/xkcd_password.py index 901e232..a7c98ec 100755 --- a/xkcdpass/xkcd_password.py +++ b/xkcdpass/xkcd_password.py @@ -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.