diff --git a/pom.xml b/pom.xml
index 5fd8efa..7b5cfe2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,18 @@
io.zipcoder
InterviewProblem5
1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+
diff --git a/src/main/java/io/zipcoder/MilitaryTimeConverter.java b/src/main/java/io/zipcoder/MilitaryTimeConverter.java
new file mode 100644
index 0000000..53704bc
--- /dev/null
+++ b/src/main/java/io/zipcoder/MilitaryTimeConverter.java
@@ -0,0 +1,37 @@
+package io.zipcoder;
+
+import java.util.*;
+
+public class MilitaryTimeConverter {
+
+ private List time = Arrays.asList("Zero", "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 Eight", "Twenty Nine",
+ "Thirty", "Thirty One", "Thirty Two", "Thirty Three", "Thirty Four", "Thirty Five", "Thirty Six", "Thirty Seven", "Thirty Eight", "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");
+
+
+ public String convertTime(String input) {
+ StringBuilder builder = new StringBuilder();
+ int hours = getHours(input);
+ int minutes = getMinutes(input);
+ return builder.append(time.get(hours)).append(" Hundred and ").append(time.get(minutes)).append(" Hours").toString();
+ }
+
+ public int getHours(String input) {
+ int hours = Integer.parseInt(input.substring(0, input.indexOf(":")));
+ if (isPm(input) && hours != 12) {
+ return hours + 12;
+ }
+ return hours;
+ }
+
+ public boolean isPm(String input) {
+ return input.toLowerCase().contains("pm");
+ }
+
+ public int getMinutes(String input) {
+ return Integer.parseInt(input.substring(input.indexOf(":") + 1, input.indexOf(":") + 3));
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/io/zipcoder/Problem6.java b/src/main/java/io/zipcoder/Problem6.java
deleted file mode 100644
index 4ee4e64..0000000
--- a/src/main/java/io/zipcoder/Problem6.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package io.zipcoder;
-
-public class Problem6 {
-}
diff --git a/src/test/java/io/zipcoder/Problem6Test.java b/src/test/java/io/zipcoder/Problem6Test.java
index d262e88..4b35e08 100644
--- a/src/test/java/io/zipcoder/Problem6Test.java
+++ b/src/test/java/io/zipcoder/Problem6Test.java
@@ -1,4 +1,141 @@
package io.zipcoder;
+import org.junit.Assert;
+import org.junit.Test;
+
+
public class Problem6Test {
+
+ @Test
+ public void getMilitaryTimeTest1() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+
+ String input = "1:30pm";
+ String expected = "Thirteen Hundred and Thirty Hours";
+ String actual = militaryTimeConverter.convertTime(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getMilitaryTimeTest3() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+
+ String input = "2:22pm";
+ String expected = "Fourteen Hundred and Twenty Two Hours";
+ String actual = militaryTimeConverter.convertTime(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getMilitaryTimeTest4() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+
+ String input = "2:11am";
+ String expected = "Zero Two Hundred and Eleven Hours";
+ String actual = militaryTimeConverter.convertTime(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getMilitaryTimeTest5() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+
+ String input = "10:02am";
+ String expected = "Ten Hundred and Zero Two Hours";
+ String actual = militaryTimeConverter.convertTime(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void isPmTest() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+
+ String input = "10:02am";
+ boolean actual = militaryTimeConverter.isPm(input);
+
+ Assert.assertFalse(actual);
+ }
+
+ @Test
+ public void isPmTest2() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+
+ String input = "10:02pm";
+ boolean actual = militaryTimeConverter.isPm(input);
+
+ Assert.assertTrue(actual);
+ }
+
+ @Test
+ public void getHoursTest() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+ String input = "11:12pm";
+
+ int expected = 23;
+ int actual = militaryTimeConverter.getHours(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getHoursTest2() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+ String input = "9:12pm";
+
+ int expected = 21;
+ int actual = militaryTimeConverter.getHours(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getMinutesTest() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+ String input = "9:12pm";
+
+ int expected = 12;
+ int actual = militaryTimeConverter.getMinutes(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getMinutesTest2() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+ String input = "9:03pm";
+
+ int expected = 3;
+ int actual = militaryTimeConverter.getMinutes(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void convertToMilitaryTimeTest() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+ String input = "12:36pm";
+
+ int expected = 12;
+ int actual = militaryTimeConverter.getHours(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void convertToMilitaryTimeTest2() {
+ MilitaryTimeConverter militaryTimeConverter = new MilitaryTimeConverter();
+ String input = "2:17pm";
+
+ int expected = 14;
+ int actual = militaryTimeConverter.getHours(input);
+
+ Assert.assertEquals(expected, actual);
+ }
+
}