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)
# 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']
"""
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):
"""
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):