diff --git a/src/main/java/com/ctci/arraysandstrings/CheckPermutation.java b/src/main/java/com/ctci/arraysandstrings/CheckPermutation.java index dbf7c795..d9b68fa3 100644 --- a/src/main/java/com/ctci/arraysandstrings/CheckPermutation.java +++ b/src/main/java/com/ctci/arraysandstrings/CheckPermutation.java @@ -1,5 +1,7 @@ package com.ctci.arraysandstrings; +import org.junit.Assert; +import org.junit.Test; import java.util.Arrays; /** @@ -54,6 +56,48 @@ private static boolean isOnePermutationOfOtherGivenThatStringsContainOnlyAscii(S } return true; } + + @Test + public void isOnePermutationOfOther_tc1_differentlength() { + String s1 = "rama"; + String s2 = "mar"; + Assert.assertFalse(isOnePermutationOfOther(s1, s2)); + } + + @Test + public void isOnePermutationOfOther_tc2_isPermutation() { + String s1 = "ram"; + String s2 = "mar"; + Assert.assertTrue(isOnePermutationOfOther(s1, s2)); + } + + @Test + public void isOnePermutationOfOther_tc3_notPermutation() { + String s1 = "rama"; + String s2 = "marA"; + Assert.assertFalse(isOnePermutationOfOther(s1, s2)); + } + + @Test + public void isOnePermutationOfOtherGivenThatStringsContainOnlyAscii_tc1_differentlength() { + String s1 = "rama"; + String s2 = "mar"; + Assert.assertFalse(isOnePermutationOfOtherGivenThatStringsContainOnlyAscii(s1, s2)); + } + + @Test + public void isOnePermutationOfOtherGivenThatStringsContainOnlyAscii_tc2_isPermutation() { + String s1 = "ram"; + String s2 = "mar"; + Assert.assertTrue(isOnePermutationOfOtherGivenThatStringsContainOnlyAscii(s1, s2)); + } + + @Test + public void isOnePermutationOfOtherGivenThatStringsContainOnlyAscii_tc3_notPermutation() { + String s1 = "rama"; + String s2 = "marA"; + Assert.assertFalse(isOnePermutationOfOtherGivenThatStringsContainOnlyAscii(s1, s2)); + } public static void main(String[] args) { System.out.println(isOnePermutationOfOther("ram", "mar")); diff --git a/src/main/java/com/ctci/arraysandstrings/IsUnique.java b/src/main/java/com/ctci/arraysandstrings/IsUnique.java index 895d16b3..2f58d2e4 100644 --- a/src/main/java/com/ctci/arraysandstrings/IsUnique.java +++ b/src/main/java/com/ctci/arraysandstrings/IsUnique.java @@ -1,5 +1,8 @@ package com.ctci.arraysandstrings; +import org.junit.Assert; +import org.junit.Test; + /** * @author rampatra * @since 18/11/2018 @@ -32,6 +35,54 @@ private static boolean hasAllUniqueCharactersWhenStringContainsAllLowercase(Stri return true; } + @Test + public void hasAllUniqueCharacters_tc1_null() { + String s = null; + Assert.assertFalse(hasAllUniqueCharacters(s)); + } + + @Test + public void hasAllUniqueCharacters_tc2_greaterThan128() { + String s = "Currently, each country has its own language, its own characters. Extended ASCII encoding was born with the goal of being diverse in that language"; + Assert.assertFalse(hasAllUniqueCharacters(s)); + } + + @Test + public void hasAllUniqueCharacters_tc3_notUnique() { + String s = "rama"; + Assert.assertFalse(hasAllUniqueCharacters(s)); + } + + @Test + public void hasAllUniqueCharacters_tc4_Unique() { + String s = "ram"; + Assert.assertTrue(hasAllUniqueCharacters(s)); + } + + @Test + public void hasAllUniqueCharacters_tc5_UniqueWithCapital() { + String s = "ramA"; + Assert.assertTrue(hasAllUniqueCharacters(s)); + } + + @Test + public void hasAllUniqueCharactersWhenStringContainsAllLowercase_tc1_notUnique() { + String s = "rama"; + Assert.assertFalse(hasAllUniqueCharactersWhenStringContainsAllLowercase(s)); + } + + @Test + public void hasAllUniqueCharactersWhenStringContainsAllLowercase_tc2_Unique() { + String s = "ram"; + Assert.assertTrue(hasAllUniqueCharactersWhenStringContainsAllLowercase(s)); + } + + @Test + public void hasAllUniqueCharactersWhenStringContainsAllLowercase_tc3_UniqueWithCapital() { + String s = "ramA"; + Assert.assertFalse(hasAllUniqueCharactersWhenStringContainsAllLowercase(s)); + } + public static void main(String[] args) { String s = "ram"; System.out.println(hasAllUniqueCharacters(s));