From 91fe519ac2caee34cb5e5e0a4c239fdf8802fc3f Mon Sep 17 00:00:00 2001 From: CWinarski Date: Sat, 14 Apr 2018 16:40:39 -0400 Subject: [PATCH 1/4] Made part of converter --- .../java/io/zipcoder/ConvertTimeToWords.java | 12 ++++ src/main/java/io/zipcoder/Problem6.java | 18 ++++++ .../io/zipcoder/ConvertTimeToWordsTest.java | 5 ++ src/test/java/io/zipcoder/Problem6Test.java | 62 +++++++++++++++++++ 4 files changed, 97 insertions(+) create mode 100644 src/main/java/io/zipcoder/ConvertTimeToWords.java create mode 100644 src/test/java/io/zipcoder/ConvertTimeToWordsTest.java diff --git a/src/main/java/io/zipcoder/ConvertTimeToWords.java b/src/main/java/io/zipcoder/ConvertTimeToWords.java new file mode 100644 index 0000000..93117a1 --- /dev/null +++ b/src/main/java/io/zipcoder/ConvertTimeToWords.java @@ -0,0 +1,12 @@ +package io.zipcoder; + +public class ConvertTimeToWords { + Problem6 problem6 = new Problem6(); + + String[] words = {"zero", "one", "two", "three", "four", + "five", "six", "seven", "eight", "nine", + "ten", "eleven", "twelve", "thirteen", + "fourteen", "fifteen", "sixteen", "seventeen", + "eighteen", "nineteen", "twenty", "twenty one", + "twenty two", "twenty three", "twenty four"}; +} diff --git a/src/main/java/io/zipcoder/Problem6.java b/src/main/java/io/zipcoder/Problem6.java index 4ee4e64..9ab820d 100644 --- a/src/main/java/io/zipcoder/Problem6.java +++ b/src/main/java/io/zipcoder/Problem6.java @@ -1,4 +1,22 @@ package io.zipcoder; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; + public class Problem6 { + + public String timeConverter(String inputTime){ + DateFormat inputString= new SimpleDateFormat("hh:mmaa"); + DateFormat outputString = new SimpleDateFormat("HH:mm"); + try { + String date = outputString.format(inputString.parse(inputTime)); + return date; + }catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + } diff --git a/src/test/java/io/zipcoder/ConvertTimeToWordsTest.java b/src/test/java/io/zipcoder/ConvertTimeToWordsTest.java new file mode 100644 index 0000000..6850a80 --- /dev/null +++ b/src/test/java/io/zipcoder/ConvertTimeToWordsTest.java @@ -0,0 +1,5 @@ +package io.zipcoder; + +public class ConvertTimeToWordsTest { + +} diff --git a/src/test/java/io/zipcoder/Problem6Test.java b/src/test/java/io/zipcoder/Problem6Test.java index d262e88..6574375 100644 --- a/src/test/java/io/zipcoder/Problem6Test.java +++ b/src/test/java/io/zipcoder/Problem6Test.java @@ -1,4 +1,66 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.text.ParseException; + public class Problem6Test { + + Problem6 newProblem6; + String testDate1 = "1:00pm"; + String testDate = "10:00am"; + String testDate2 = "3:30pm"; + String testDate3 = "3:30am"; + + @Before + public void setUp(){ + this.newProblem6 = new Problem6(); + } + + @Test + public void timeConverterTest(){ + //Given + String expected = "13:00"; + //When + String actual = newProblem6.timeConverter(testDate1); + //Then + Assert.assertEquals(expected,actual); + } + @Test + public void timeConverterTest1(){ + //Given + String expected = "10:00"; + //When + String actual = newProblem6.timeConverter(testDate); + //Then + Assert.assertEquals(expected,actual); + } + + @Test + public void timeConverterTest2(){ + //Given + String expected = "15:30"; + //When + String actual = newProblem6.timeConverter(testDate2); + //Then + Assert.assertEquals(expected,actual); + } + + @Test + public void timeConverterTest3(){ + //Given + String expected = "03:30"; + //When + String actual = newProblem6.timeConverter(testDate3); + //Then + Assert.assertEquals(expected,actual); + } + + @Test (expected = ParseException.class) + public void timeConverterTest4(){ + newProblem6.timeConverter("12pm"); + } + } From 3ad7245a2e706a55da25a75805822479c00939df Mon Sep 17 00:00:00 2001 From: CWinarski Date: Sun, 15 Apr 2018 16:14:12 -0400 Subject: [PATCH 2/4] Up to converting to words --- .../java/io/zipcoder/ConvertTimeToWords.java | 7 +-- src/main/java/io/zipcoder/Problem6.java | 31 ++++++++++ src/test/java/io/zipcoder/Problem6Test.java | 57 +++++++++++++++++-- 3 files changed, 84 insertions(+), 11 deletions(-) diff --git a/src/main/java/io/zipcoder/ConvertTimeToWords.java b/src/main/java/io/zipcoder/ConvertTimeToWords.java index 93117a1..f2cbd2c 100644 --- a/src/main/java/io/zipcoder/ConvertTimeToWords.java +++ b/src/main/java/io/zipcoder/ConvertTimeToWords.java @@ -3,10 +3,5 @@ public class ConvertTimeToWords { Problem6 problem6 = new Problem6(); - String[] words = {"zero", "one", "two", "three", "four", - "five", "six", "seven", "eight", "nine", - "ten", "eleven", "twelve", "thirteen", - "fourteen", "fifteen", "sixteen", "seventeen", - "eighteen", "nineteen", "twenty", "twenty one", - "twenty two", "twenty three", "twenty four"}; + } diff --git a/src/main/java/io/zipcoder/Problem6.java b/src/main/java/io/zipcoder/Problem6.java index 9ab820d..33437d0 100644 --- a/src/main/java/io/zipcoder/Problem6.java +++ b/src/main/java/io/zipcoder/Problem6.java @@ -6,6 +6,15 @@ public class Problem6 { + String[] indexOneWords = {"Zero One", "Zero Two", "Zero Three", "Zero Four", + "Zero Five", "Zero Six", "Zero Seven", "Zero Eight", "Zero Nine", + "Ten", "Eleven", "Twelve", "Thirteen", + "Fourteen", "Fifteen", "Sixteen", "Seventeen", + "Eighteen", "Nineteen", "Twenty", "Twenty One", + "Twenty Two", "Twenty Three", "Twenty Four"}; + //"Twenty Five", "Twenty Six", + // "Twenty Seven", "Twenty ight", "twenty nine", + public String timeConverter(String inputTime){ DateFormat inputString= new SimpleDateFormat("hh:mmaa"); DateFormat outputString = new SimpleDateFormat("HH:mm"); @@ -18,5 +27,27 @@ public String timeConverter(String inputTime){ return null; } + public String[] splitTime(String inputTime){ + String[] timeIsSplit = inputTime.split(":"); + return timeIsSplit; + } + + public String convertIndexOneToWord(String input){ + int inputAsNumber = + String word; + switch (input){ + + } + return null; + } + + public String convertIndexTwoToWord(String input){ + //do switch statement + return null; + } + + public String formatWords(String hundreds, String Hours){ + return null; + } } diff --git a/src/test/java/io/zipcoder/Problem6Test.java b/src/test/java/io/zipcoder/Problem6Test.java index 6574375..adceefb 100644 --- a/src/test/java/io/zipcoder/Problem6Test.java +++ b/src/test/java/io/zipcoder/Problem6Test.java @@ -4,8 +4,6 @@ import org.junit.Before; import org.junit.Test; -import java.text.ParseException; - public class Problem6Test { Problem6 newProblem6; @@ -13,6 +11,8 @@ public class Problem6Test { String testDate = "10:00am"; String testDate2 = "3:30pm"; String testDate3 = "3:30am"; + String militayTime = "15:30"; + String[] militaryTimeArray = {"15", "30"}; @Before public void setUp(){ @@ -58,9 +58,56 @@ public void timeConverterTest3(){ Assert.assertEquals(expected,actual); } - @Test (expected = ParseException.class) - public void timeConverterTest4(){ - newProblem6.timeConverter("12pm"); + + @Test + public void splitTimeTest(){ + //Given + Integer expected = militaryTimeArray.length; + //When + String[] splitTimeTest = newProblem6.splitTime(militayTime); + Integer actual = splitTimeTest.length; + //Then + Assert.assertEquals(expected,actual); + } + @Test + public void splitTimeTest1(){ + //Given + String expected = militaryTimeArray[0]; + //When + String[] splitTimeTest = newProblem6.splitTime(militayTime); + String actual = splitTimeTest[0]; + //Then + Assert.assertEquals(expected,actual); + } + + @Test + public void covertIndexOneToWordTest(){ + //Given + String expected = "Fifteen"; + //When + String actual = newProblem6.convertIndexOneToWord(militaryTimeArray[0]); + //Then + Assert.assertEquals(expected,actual); + } + + @Test + public void covertIndexTwoToWordTest(){ + //Given + String expected = "Thirty"; + //When + String actual = newProblem6.convertIndexOneToWord(militaryTimeArray[1]); + //Then + Assert.assertEquals(expected, actual); + } + + @Test + public void formatWordsTest(){ + //Given + String expected = "Fifteen Hundred and Thirty Hours"; + //When + String actual = newProblem6.formatWords(militaryTimeArray[0], militaryTimeArray[1]); + //Then + Assert.assertEquals(expected, actual); } } From 1cc66063c9090b69b26827cd7ced007f36356d5c Mon Sep 17 00:00:00 2001 From: CWinarski Date: Sun, 15 Apr 2018 17:05:56 -0400 Subject: [PATCH 3/4] Finished --- .../java/io/zipcoder/ConvertTimeToWords.java | 7 - src/main/java/io/zipcoder/Problem6.java | 124 ++++++++++++++++-- .../io/zipcoder/ConvertTimeToWordsTest.java | 5 - src/test/java/io/zipcoder/Problem6Test.java | 20 ++- 4 files changed, 124 insertions(+), 32 deletions(-) delete mode 100644 src/main/java/io/zipcoder/ConvertTimeToWords.java delete mode 100644 src/test/java/io/zipcoder/ConvertTimeToWordsTest.java diff --git a/src/main/java/io/zipcoder/ConvertTimeToWords.java b/src/main/java/io/zipcoder/ConvertTimeToWords.java deleted file mode 100644 index f2cbd2c..0000000 --- a/src/main/java/io/zipcoder/ConvertTimeToWords.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.zipcoder; - -public class ConvertTimeToWords { - Problem6 problem6 = new Problem6(); - - -} diff --git a/src/main/java/io/zipcoder/Problem6.java b/src/main/java/io/zipcoder/Problem6.java index 33437d0..ffc3ed8 100644 --- a/src/main/java/io/zipcoder/Problem6.java +++ b/src/main/java/io/zipcoder/Problem6.java @@ -6,14 +6,16 @@ public class Problem6 { - String[] indexOneWords = {"Zero One", "Zero Two", "Zero Three", "Zero Four", + String[] words = {"Zero One", "Zero Two", "Zero Three", "Zero Four", "Zero Five", "Zero Six", "Zero Seven", "Zero Eight", "Zero Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty", "Twenty One", - "Twenty Two", "Twenty Three", "Twenty Four"}; - //"Twenty Five", "Twenty Six", - // "Twenty Seven", "Twenty ight", "twenty nine", + "Twenty Two", "Twenty Three", "Twenty Four","Twenty Five", "Twenty Six", + "Twenty Seven", "Twenty Eight", "Twenty Nine", "Thirty", "Thirty One", "Thirty Two", + "Thirty Three", "Thirty Four", "Thirty Five", "Thirty Six", "Thirty Seven", "Thirty Eight", + "Thirty Nine", "Forty"}; + public String timeConverter(String inputTime){ DateFormat inputString= new SimpleDateFormat("hh:mmaa"); @@ -32,22 +34,116 @@ public String[] splitTime(String inputTime){ return timeIsSplit; } - public String convertIndexOneToWord(String input){ - int inputAsNumber = - String word; - switch (input){ + public String convertIndexToWord(String input){ + int inputAsNumber = Integer.parseInt(input); + String word=""; + switch (inputAsNumber){ + case 1: word = words[0]; + break; + case 2: word = words[1]; + break; + case 3: word = words[2]; + break; + case 4: word = words[3]; + break; + case 5: word = words[4]; + break; + case 6: word = words[5]; + break; + case 7: word = words[6]; + break; + case 8: word = words[7]; + break; + case 9: word = words[8]; + break; + case 10: word = words[9]; + break; + case 11: word = words[10]; + break; + case 12: word = words[11]; + break; + case 13: word = words[12]; + break; + case 14: word = words[13]; + break; + case 15: word+= words[14]; + break; + case 16: word = words[15]; + break; + case 17: word = words[16]; + break; + case 18: word = words[17]; + break; + case 19: word = words[18]; + break; + case 20: word = words[19]; + break; + case 21: word = words[20]; + break; + case 22: word = words[21]; + break; + case 23: word = words[22]; + break; + case 24: word = words[23]; + break; + case 25: word = words[24]; + break; + case 26: word = words[25]; + break; + case 27: word = words[26]; + break; + case 28: word = words[27]; + break; + case 29: word = words[28]; + break; + case 30: word = words[29]; + break; + case 31: word = words[30]; + break; + case 32: word = words[31]; + break; + case 33: word = words[32]; + break; + case 34: word = words[33]; + break; + case 35: word = words[34]; + break; + case 36: word = words[35]; + break; + case 37: word = words[36]; + break; + case 38: word = words[37]; + break; + case 39: word = words[38]; + break; + case 40: word = words[39]; + break; + default: word = "Invalid input"; + break; } - return null; + return word; } - public String convertIndexTwoToWord(String input){ - //do switch statement - return null; - } public String formatWords(String hundreds, String Hours){ - return null; + StringBuilder sb = new StringBuilder(); + sb.append(hundreds); + sb.append(" "); + sb.append("Hundred "); + sb.append("and "); + sb.append(Hours); + sb.append(" "); + sb.append("Hours"); + return sb.toString(); + } + + public String seeIfWholeThingWorks(String input){ + String convert = timeConverter(input); + String[] split = splitTime(convert); + String indexOne = convertIndexToWord(split[0]); + String indexTwo = convertIndexToWord(split[1]); + return formatWords(indexOne, indexTwo); } } diff --git a/src/test/java/io/zipcoder/ConvertTimeToWordsTest.java b/src/test/java/io/zipcoder/ConvertTimeToWordsTest.java deleted file mode 100644 index 6850a80..0000000 --- a/src/test/java/io/zipcoder/ConvertTimeToWordsTest.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.zipcoder; - -public class ConvertTimeToWordsTest { - -} diff --git a/src/test/java/io/zipcoder/Problem6Test.java b/src/test/java/io/zipcoder/Problem6Test.java index adceefb..75da65a 100644 --- a/src/test/java/io/zipcoder/Problem6Test.java +++ b/src/test/java/io/zipcoder/Problem6Test.java @@ -11,7 +11,7 @@ public class Problem6Test { String testDate = "10:00am"; String testDate2 = "3:30pm"; String testDate3 = "3:30am"; - String militayTime = "15:30"; + String militaryTime = "15:30"; String[] militaryTimeArray = {"15", "30"}; @Before @@ -64,7 +64,7 @@ public void splitTimeTest(){ //Given Integer expected = militaryTimeArray.length; //When - String[] splitTimeTest = newProblem6.splitTime(militayTime); + String[] splitTimeTest = newProblem6.splitTime(militaryTime); Integer actual = splitTimeTest.length; //Then Assert.assertEquals(expected,actual); @@ -74,7 +74,7 @@ public void splitTimeTest1(){ //Given String expected = militaryTimeArray[0]; //When - String[] splitTimeTest = newProblem6.splitTime(militayTime); + String[] splitTimeTest = newProblem6.splitTime(militaryTime); String actual = splitTimeTest[0]; //Then Assert.assertEquals(expected,actual); @@ -85,7 +85,7 @@ public void covertIndexOneToWordTest(){ //Given String expected = "Fifteen"; //When - String actual = newProblem6.convertIndexOneToWord(militaryTimeArray[0]); + String actual = newProblem6.convertIndexToWord(militaryTimeArray[0]); //Then Assert.assertEquals(expected,actual); } @@ -95,7 +95,7 @@ public void covertIndexTwoToWordTest(){ //Given String expected = "Thirty"; //When - String actual = newProblem6.convertIndexOneToWord(militaryTimeArray[1]); + String actual = newProblem6.convertIndexToWord(militaryTimeArray[1]); //Then Assert.assertEquals(expected, actual); } @@ -105,9 +105,17 @@ public void formatWordsTest(){ //Given String expected = "Fifteen Hundred and Thirty Hours"; //When - String actual = newProblem6.formatWords(militaryTimeArray[0], militaryTimeArray[1]); + String actual = newProblem6.formatWords("Fifteen", "Thirty"); //Then Assert.assertEquals(expected, actual); } + @Test + public void seeIfWholeThingWorksTest(){ + String expected = "Fifteen Hundred and Thirty Hours"; + String actual = newProblem6.seeIfWholeThingWorks(testDate2); + Assert.assertEquals(expected, actual); + + } + } From 3f903c131e472390003accabb42ecad81708986e Mon Sep 17 00:00:00 2001 From: CWinarski Date: Sun, 15 Apr 2018 19:00:11 -0400 Subject: [PATCH 4/4] FacePalm --- src/main/java/io/zipcoder/Problem6.java | 96 ++----------------------- 1 file changed, 6 insertions(+), 90 deletions(-) diff --git a/src/main/java/io/zipcoder/Problem6.java b/src/main/java/io/zipcoder/Problem6.java index ffc3ed8..1258460 100644 --- a/src/main/java/io/zipcoder/Problem6.java +++ b/src/main/java/io/zipcoder/Problem6.java @@ -14,7 +14,9 @@ public class Problem6 { "Twenty Two", "Twenty Three", "Twenty Four","Twenty Five", "Twenty Six", "Twenty Seven", "Twenty Eight", "Twenty Nine", "Thirty", "Thirty One", "Thirty Two", "Thirty Three", "Thirty Four", "Thirty Five", "Thirty Six", "Thirty Seven", "Thirty Eight", - "Thirty Nine", "Forty"}; + "Thirty Nine", "Forty", "Forty One", "Forty Two", "Forty Three", "Forty Four", "Forty Five", "Forty Six", + "Forty Seven", "Forty Eight", "Forty Nine", "Fifty", "Fifty One", "Fifty Two", "Fifty Three", "Fifty Four", + "Fifty Five", "Fifty Six", "Fifty Seven", "Fifty Eight", "Fifty Nine", "Sixty"}; public String timeConverter(String inputTime){ @@ -36,93 +38,8 @@ public String[] splitTime(String inputTime){ public String convertIndexToWord(String input){ int inputAsNumber = Integer.parseInt(input); - String word=""; - switch (inputAsNumber){ - case 1: word = words[0]; - break; - case 2: word = words[1]; - break; - case 3: word = words[2]; - break; - case 4: word = words[3]; - break; - case 5: word = words[4]; - break; - case 6: word = words[5]; - break; - case 7: word = words[6]; - break; - case 8: word = words[7]; - break; - case 9: word = words[8]; - break; - case 10: word = words[9]; - break; - case 11: word = words[10]; - break; - case 12: word = words[11]; - break; - case 13: word = words[12]; - break; - case 14: word = words[13]; - break; - case 15: word+= words[14]; - break; - case 16: word = words[15]; - break; - case 17: word = words[16]; - break; - case 18: word = words[17]; - break; - case 19: word = words[18]; - break; - case 20: word = words[19]; - break; - case 21: word = words[20]; - break; - case 22: word = words[21]; - break; - case 23: word = words[22]; - break; - case 24: word = words[23]; - break; - case 25: word = words[24]; - break; - case 26: word = words[25]; - break; - case 27: word = words[26]; - break; - case 28: word = words[27]; - break; - case 29: word = words[28]; - break; - case 30: word = words[29]; - break; - case 31: word = words[30]; - break; - case 32: word = words[31]; - break; - case 33: word = words[32]; - break; - case 34: word = words[33]; - break; - case 35: word = words[34]; - break; - case 36: word = words[35]; - break; - case 37: word = words[36]; - break; - case 38: word = words[37]; - break; - case 39: word = words[38]; - break; - case 40: word = words[39]; - break; - default: word = "Invalid input"; - break; - - } - return word; + String actualWord = words[inputAsNumber-1]; + return actualWord; } @@ -130,8 +47,7 @@ public String formatWords(String hundreds, String Hours){ StringBuilder sb = new StringBuilder(); sb.append(hundreds); sb.append(" "); - sb.append("Hundred "); - sb.append("and "); + sb.append("Hundred and "); sb.append(Hours); sb.append(" "); sb.append("Hours");