diff --git a/src/main/java/com/ctci/arraysandstrings/IsUnique.java b/src/main/java/com/ctci/arraysandstrings/IsUnique.java index 895d16b3..4a1d54ee 100644 --- a/src/main/java/com/ctci/arraysandstrings/IsUnique.java +++ b/src/main/java/com/ctci/arraysandstrings/IsUnique.java @@ -6,7 +6,7 @@ */ public class IsUnique { - private static boolean hasAllUniqueCharacters(String str) { + public static boolean hasAllUniqueCharacters(String str) { if (str == null || str.length() > 128) return false; boolean[] charSet = new boolean[128]; // assuming the string contains only ASCII characters @@ -20,7 +20,7 @@ private static boolean hasAllUniqueCharacters(String str) { return true; } - private static boolean hasAllUniqueCharactersWhenStringContainsAllLowercase(String s) { + public static boolean hasAllUniqueCharactersWhenStringContainsAllLowercase(String s) { int checker = 0; for (int i = 0; i < s.length(); i++) { int charValue = s.charAt(i) - 'a'; diff --git a/src/main/java/com/ctci/arraysandstrings/TestIsUnique.java b/src/main/java/com/ctci/arraysandstrings/TestIsUnique.java new file mode 100644 index 00000000..3d85d200 --- /dev/null +++ b/src/main/java/com/ctci/arraysandstrings/TestIsUnique.java @@ -0,0 +1,34 @@ +package com.ctci.arraysandstrings; + +import org.junit.Test; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class TestIsUnique { + @Test + public void TesthasAllUniqueCharacters() { + String TC1 = "qwertyuiop123456@#$%"; + String TC2 = "aaaaaaaaa"; + + boolean R1 = IsUnique.hasAllUniqueCharacters(TC1); + boolean R2 = IsUnique.hasAllUniqueCharacters(TC2); + + assertTrue(R1); + assertFalse(R2); + } + @Test + public void TesthasAllUniqueCharactersWhenStringContainsAllLowercase() { + String TC1 = "qwertyuiop"; + String TC2 = "aaaaaaaaa"; + String TC3 = "QwertHfakjf"; + + boolean R1 = IsUnique.hasAllUniqueCharactersWhenStringContainsAllLowercase(TC1); + boolean R2 = IsUnique.hasAllUniqueCharactersWhenStringContainsAllLowercase(TC2); + boolean R3 = IsUnique.hasAllUniqueCharactersWhenStringContainsAllLowercase(TC3); + + assertTrue(R1); + assertFalse(R2); + assertFalse(R3); + + } +} diff --git a/src/main/java/com/ctci/arraysandstrings/testMain.java b/src/main/java/com/ctci/arraysandstrings/testMain.java new file mode 100644 index 00000000..13bdcdc6 --- /dev/null +++ b/src/main/java/com/ctci/arraysandstrings/testMain.java @@ -0,0 +1,15 @@ +package com.ctci.arraysandstrings; + +import org.junit.runner.JUnitCore; +import org.junit.runner.Result; +import org.junit.runner.notification.Failure; + +public class testMain { + public static void main(String[] args) { + Result result = JUnitCore.runClasses(TestIsUnique.class); + for (Failure failure: result.getFailures()) { + System.out.println(failure.toString()); + } + System.out.println(result.wasSuccessful()); + } +} \ No newline at end of file