From c5868068415937d0faca62720a71a60e4a6bd59e Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Mon, 12 Mar 2018 23:24:46 -0400 Subject: [PATCH 1/6] saving --- src/main/java/io/zipcoder/ParenChecker.java | 14 +++++++++ .../java/io/zipcoder/ParenCheckerTest.java | 30 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/src/main/java/io/zipcoder/ParenChecker.java b/src/main/java/io/zipcoder/ParenChecker.java index caee675..4aca96f 100644 --- a/src/main/java/io/zipcoder/ParenChecker.java +++ b/src/main/java/io/zipcoder/ParenChecker.java @@ -1,4 +1,18 @@ package io.zipcoder; +import java.util.Stack; + public class ParenChecker { + + public static boolean parenChecker(String aString){ + Stack myStack = new Stack(); + for(int i=0;i)haddhjk(jkl(lkdja)"); + Assert.assertFalse(actual); + } + @Test + public void testParenChecker4(){ + boolean actual = ParenChecker.parenChecker("))))))))))ajhdfdha;(((9"); + Assert.assertFalse(actual); + } + @Test + public void testParenChecker5(){ + boolean actual = ParenChecker.parenChecker("eyioewncnv(((hgajdhak)adnkjf)euei)"); + Assert.assertTrue(actual); + } + } \ No newline at end of file From be174d04137c551e1352c55c522de5759bb9aa9a Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Mon, 12 Mar 2018 23:56:26 -0400 Subject: [PATCH 2/6] saving --- src/main/java/io/zipcoder/ParenChecker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/io/zipcoder/ParenChecker.java b/src/main/java/io/zipcoder/ParenChecker.java index 4aca96f..08ec89f 100644 --- a/src/main/java/io/zipcoder/ParenChecker.java +++ b/src/main/java/io/zipcoder/ParenChecker.java @@ -15,4 +15,8 @@ public static boolean parenChecker(String aString){ } return myStack.isEmpty(); } + + + + } From a019f18043b521f6f61576ca5eff2960aac28278 Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 13 Mar 2018 16:38:48 -0400 Subject: [PATCH 3/6] saving --- src/main/java/io/zipcoder/ParenChecker.java | 25 +++++++++++++++++-- .../java/io/zipcoder/ParenCheckerTest.java | 12 +++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/ParenChecker.java b/src/main/java/io/zipcoder/ParenChecker.java index 08ec89f..41b4c53 100644 --- a/src/main/java/io/zipcoder/ParenChecker.java +++ b/src/main/java/io/zipcoder/ParenChecker.java @@ -5,10 +5,10 @@ public class ParenChecker { public static boolean parenChecker(String aString){ - Stack myStack = new Stack(); + Stack myStack = new Stack(); for(int i=0;i myStack = new Stack(); + for (int i = 0; i < aString.length(); i++) { + if (aString.charAt(i) == '(' || aString.charAt(i) == '{' || aString.charAt(i) == '[' || aString.charAt(i) == '<' + || aString.charAt(i) == '"' || aString.charAt(i) == '\'') { + myStack.push(aString.charAt(i)); + } + if ((aString.charAt(i) == ')' || aString.charAt(i) == '}' || aString.charAt(i) == ']' || aString.charAt(i) == '>') + &&myStack.isEmpty()) { + return false; + } + if (aString.charAt(i) == ')' && myStack.peek() == '(' || aString.charAt(i) == '}' && myStack.peek() == '{' || + aString.charAt(i) == ']' && myStack.peek() == '[' || aString.charAt(i) == '>' && myStack.peek() == '<' || + aString.charAt(i) == '"' && myStack.peek() == '"' || aString.charAt(i) == '\'' && myStack.peek() == '\'') { + + myStack.pop(); + } + } + return myStack.isEmpty(); + } } diff --git a/src/test/java/io/zipcoder/ParenCheckerTest.java b/src/test/java/io/zipcoder/ParenCheckerTest.java index bf793ad..f554550 100644 --- a/src/test/java/io/zipcoder/ParenCheckerTest.java +++ b/src/test/java/io/zipcoder/ParenCheckerTest.java @@ -3,8 +3,6 @@ import org.junit.Assert; import org.junit.Test; -import java.util.Stack; - public class ParenCheckerTest { @Test @@ -34,5 +32,15 @@ public void testParenChecker5(){ boolean actual = ParenChecker.parenChecker("eyioewncnv(((hgajdhak)adnkjf)euei)"); Assert.assertTrue(actual); } + @Test + public void testCheckMatchingCharacters1(){ + boolean actual = ParenChecker.checkMatchingCharacters("{}<>"); + Assert.assertTrue(actual); + } + @Test + public void testCheckMatchingCharacters2(){ + boolean actual = ParenChecker.checkMatchingCharacters(">{}()<"); + Assert.assertFalse(actual); + } } \ No newline at end of file From 0803b3dacf345f1e2f587df40bd42fa7ae9248ec Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 13 Mar 2018 21:35:15 -0400 Subject: [PATCH 4/6] Made changes to part3 --- src/main/java/io/zipcoder/ParenChecker.java | 1 - src/main/java/io/zipcoder/WC.java | 35 +++++++++++++++++++-- src/main/resources/someTextFile.txt | 1 + src/test/java/io/zipcoder/WCTest.java | 5 +++ 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/ParenChecker.java b/src/main/java/io/zipcoder/ParenChecker.java index 41b4c53..032481d 100644 --- a/src/main/java/io/zipcoder/ParenChecker.java +++ b/src/main/java/io/zipcoder/ParenChecker.java @@ -35,7 +35,6 @@ public static boolean checkMatchingCharacters(String aString) { myStack.pop(); } - } return myStack.isEmpty(); } diff --git a/src/main/java/io/zipcoder/WC.java b/src/main/java/io/zipcoder/WC.java index babb68c..cf97f03 100644 --- a/src/main/java/io/zipcoder/WC.java +++ b/src/main/java/io/zipcoder/WC.java @@ -2,11 +2,11 @@ import java.io.FileNotFoundException; import java.io.FileReader; -import java.util.Iterator; -import java.util.Scanner; +import java.util.*; public class WC { private Iterator si; + private Map wordsInFile=new TreeMap(Collections.reverseOrder()); public WC(String fileName) { try { @@ -20,4 +20,35 @@ public WC(String fileName) { public WC(Iterator si) { this.si = si; } + + public Map readWords(){ + + while(si.hasNext()) { + String aWord = si.next().toLowerCase().replaceAll("[^a-z]",""); + if (wordsInFile.containsKey(aWord)) { + wordsInFile.put(aWord, wordsInFile.get(aWord)+1); + } else + wordsInFile.put(aWord,1); + } + return wordsInFile; + } + + public String printWords(){ + readWords(); + StringBuilder builder = new StringBuilder(); + builder.append(String.format("%15s%15s\n","Words","Count")); + for(String key: wordsInFile.keySet()){ + builder.append(String.format("%15s%15d\n", key,wordsInFile.get(key))); + } + System.out.println(builder.toString()); + return builder.toString(); + } + + public static void main(String[]args){ + WC wordCount = new WC("src/main/resources/someTextFile.txt"); + wordCount.printWords(); + } + + + } diff --git a/src/main/resources/someTextFile.txt b/src/main/resources/someTextFile.txt index e69de29..2bfec70 100644 --- a/src/main/resources/someTextFile.txt +++ b/src/main/resources/someTextFile.txt @@ -0,0 +1 @@ +kibret Gio Erik Joshua Joe Vince kibret kibret kibret Joshua joe. \ No newline at end of file diff --git a/src/test/java/io/zipcoder/WCTest.java b/src/test/java/io/zipcoder/WCTest.java index 895e831..7c7d2c1 100644 --- a/src/test/java/io/zipcoder/WCTest.java +++ b/src/test/java/io/zipcoder/WCTest.java @@ -7,5 +7,10 @@ import java.util.Arrays; public class WCTest { +@Test + public void testPrintWords(){ + WC test = new WC("src/main/resources/someTextFile.txt"); + test.printWords(); +} } \ No newline at end of file From c86c817e780a0f9124c69e145e300df37dc25f6c Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 13 Mar 2018 22:28:28 -0400 Subject: [PATCH 5/6] saving --- src/test/java/io/zipcoder/WCTest.java | 31 ++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/src/test/java/io/zipcoder/WCTest.java b/src/test/java/io/zipcoder/WCTest.java index 7c7d2c1..bc12788 100644 --- a/src/test/java/io/zipcoder/WCTest.java +++ b/src/test/java/io/zipcoder/WCTest.java @@ -3,14 +3,39 @@ import org.junit.Assert; import org.junit.Test; -import java.util.ArrayList; -import java.util.Arrays; +import java.util.*; public class WCTest { + @Test + public void testReadFile(){ + WC test = new WC("src/main/resources/someTextFile.txt"); + Map expected = new HashMap(); + expected.put("Vince",1); + expected.put("kibret",4); + expected.put("joshua",2); + expected.put("joe",2); + expected.put("gio",1); + expected.put("eric",1); + + Mapactual = test.readWords(); + Assert.assertEquals(expected,actual); + + } @Test public void testPrintWords(){ WC test = new WC("src/main/resources/someTextFile.txt"); - test.printWords(); + String expected ="Words Count\n"+ + "vince 1\n"+ + "kibret 4\n"+ + "joshua 2\n"+ + "joe 2\n"+ + "gio 1\n"+ + "erik 1\n"; + + + String actual = test.printWords(); + + Assert.assertEquals(expected,actual); } } \ No newline at end of file From 94edd2da07a750721ab68b0917c4ff278889440a Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 13 Mar 2018 22:57:19 -0400 Subject: [PATCH 6/6] saving --- src/test/java/io/zipcoder/WCTest.java | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/test/java/io/zipcoder/WCTest.java b/src/test/java/io/zipcoder/WCTest.java index bc12788..19bb780 100644 --- a/src/test/java/io/zipcoder/WCTest.java +++ b/src/test/java/io/zipcoder/WCTest.java @@ -9,9 +9,10 @@ public class WCTest { @Test public void testReadFile(){ WC test = new WC("src/main/resources/someTextFile.txt"); - Map expected = new HashMap(); - expected.put("Vince",1); + Map expected = new TreeMap(Collections.reverseOrder()); + expected.put("kibret",4); + expected.put("Vince",1); expected.put("joshua",2); expected.put("joe",2); expected.put("gio",1); @@ -24,17 +25,15 @@ public void testReadFile(){ @Test public void testPrintWords(){ WC test = new WC("src/main/resources/someTextFile.txt"); - String expected ="Words Count\n"+ - "vince 1\n"+ - "kibret 4\n"+ - "joshua 2\n"+ - "joe 2\n"+ - "gio 1\n"+ - "erik 1\n"; - - + String expected = + " Words Count\n" + + " vince 1\n" + + " kibret 4\n" + + " joshua 2\n" + + " joe 2\n" + + " gio 1\n" + + " erik 1\n"; String actual = test.printWords(); - Assert.assertEquals(expected,actual); }