diff --git a/src/test/java/pl/mperor/interview/tasks/challenge/StringChallengeTest.java b/src/test/java/pl/mperor/interview/tasks/challenge/StringChallengeTest.java index b6b4705..57355ef 100644 --- a/src/test/java/pl/mperor/interview/tasks/challenge/StringChallengeTest.java +++ b/src/test/java/pl/mperor/interview/tasks/challenge/StringChallengeTest.java @@ -9,6 +9,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; +import java.util.function.BiFunction; import java.util.function.BiPredicate; import java.util.function.Function; import java.util.function.Predicate; @@ -207,4 +208,48 @@ public void testStringContainsVowel() { assertFalse(vowelChecker.test("TV")); } + /** + * String Challenge 7 + * + *
Implement your own Caesar cipher which allows to encrypt and decrypt a text with a given key (shift). + * The cipher should support both lower case and upper case letters (based on ASCII codes) + * and leave all other characters unchanged. Try to avoid code duplication. + * + *
+ * encrypt("ABCabc", 1) == "BCDbcd"
+ * encrypt("ABCabc", 25) == "ZABzab"
+ * decrypt("BCDbcd", 1) == "ABCabc"
+ *
+ */
+ @Test
+ public void testCaesarCipher() {
+ BiFunction