From dcda3116668882ec6d77b6ff5a43e6993d6d1383 Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@gmail.com>
Date: Wed, 20 Sep 2017 23:05:06 -0400
Subject: [PATCH] Add unit testing for time calculation class

---
 a0/src/com/CS3310/a0/ComputeTime.java         |   2 +-
 a0/src/com/CS3310/a0/Main.java                |  62 ---------
 .../com/CS3310/a0/tests/ComputeTimeTest.java  | 127 ++++++++++++++++++
 3 files changed, 128 insertions(+), 63 deletions(-)
 create mode 100644 a0/src/com/CS3310/a0/tests/ComputeTimeTest.java

diff --git a/a0/src/com/CS3310/a0/ComputeTime.java b/a0/src/com/CS3310/a0/ComputeTime.java
index a9cb32c..069c7c4 100644
--- a/a0/src/com/CS3310/a0/ComputeTime.java
+++ b/a0/src/com/CS3310/a0/ComputeTime.java
@@ -44,7 +44,7 @@ public class ComputeTime {
         startMilliseconds = time1.getTime();
         endMilliseconds = time2.getTime();
         differenceMilliseconds = endMilliseconds - startMilliseconds;
-        PrintTime(differenceMilliseconds);
+        //PrintTime(differenceMilliseconds);
         return  differenceMilliseconds;
     }
 
diff --git a/a0/src/com/CS3310/a0/Main.java b/a0/src/com/CS3310/a0/Main.java
index 431be65..3f88f47 100644
--- a/a0/src/com/CS3310/a0/Main.java
+++ b/a0/src/com/CS3310/a0/Main.java
@@ -7,68 +7,6 @@ import java.util.Date;
 
 public class Main {
     public static void main(String[] args) {
-        System.out.println("Hello, World!");
-        ComputeTime computeTime = new ComputeTime();
 
-        Date date1 = new Date();
-        Date date2;
-        Calendar calendar = Calendar.getInstance();
-
-        // Day Difference.
-        calendar.setTime(date1);
-        calendar.add(Calendar.DAY_OF_MONTH, 1);
-        date2 = calendar.getTime();
-
-        System.out.println("Now Vs Tomorrow");
-        computeTime.ComputeDateDifference(date1, date2);
-
-
-        // Hour difference.
-        calendar.setTime(date1);
-        calendar.add(Calendar.HOUR, -1);
-        date2 = calendar.getTime();
-
-        System.out.println("Now Vs Hour Ago");
-        computeTime.ComputeDateDifference(date1, date2);
-
-
-        // Minute difference.
-        calendar.setTime(date1);
-        calendar.add(Calendar.MINUTE, 1);
-        date2 = calendar.getTime();
-
-        System.out.println("Now Vs Minute Ago");
-        computeTime.ComputeDateDifference(date1, date2);
-
-
-        // Second difference.
-        calendar.setTime(date1);
-        calendar.add(Calendar.SECOND, 1);
-        date2 = calendar.getTime();
-
-        System.out.println("Now Vs Millisecond Ago");
-        computeTime.ComputeDateDifference(date1, date2);
-
-
-        // Minute difference.
-        calendar.setTime(date1);
-        calendar.add(Calendar.MILLISECOND, 1);
-        date2 = calendar.getTime();
-
-        System.out.println("Now Vs Millisecond Ago");
-        computeTime.ComputeDateDifference(date1, date2);
-
-
-        // Variable difference.
-        calendar.setTime(date1);
-        calendar.add(Calendar.DAY_OF_MONTH, 1);
-        calendar.add(Calendar.HOUR, 1);
-        calendar.add(Calendar.MINUTE, 1);
-        calendar.add(Calendar.SECOND, 1);
-        calendar.add(Calendar.MILLISECOND, 1);
-        date2 = calendar.getTime();
-
-        System.out.println("Now Vs All Above");
-        computeTime.ComputeDateDifference(date1, date2);
     }
 }
diff --git a/a0/src/com/CS3310/a0/tests/ComputeTimeTest.java b/a0/src/com/CS3310/a0/tests/ComputeTimeTest.java
new file mode 100644
index 0000000..26e35cd
--- /dev/null
+++ b/a0/src/com/CS3310/a0/tests/ComputeTimeTest.java
@@ -0,0 +1,127 @@
+
+import java.util.Calendar;
+import java.util.Date;
+import org.junit.Before;
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.CS3310.a0.ComputeTime;
+
+public class ComputeTimeTest {
+
+    //region Variables
+
+    long result;
+    Date date1;
+    Date date2;
+    ComputeTime computeTime;
+    Calendar calendar;
+
+    //endregion Variables
+
+
+
+    //region Tests
+
+    @Before
+    public void SetUp() {
+        computeTime = new ComputeTime();
+        date1 = new Date();
+        calendar = Calendar.getInstance();
+    }
+
+
+    @Test
+    public void TestEqualDate() {
+        date2 = date1;
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(0, result);
+    }
+
+    @Test
+    public void TestMillisecondDifference() {
+        // Date1 earlier than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.MILLISECOND, 1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals((1), result);
+
+        // Date1 later than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.MILLISECOND, -1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(-1, result);
+    }
+
+    @Test
+    public void TestSecondDifference() {
+        // Date1 earlier than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.SECOND, 1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(1000, result);
+
+        // Date1 later than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.SECOND, -1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(-1000, result);
+    }
+
+    @Test
+    public void TestMinuteDifference() {
+        // Date1 earlier than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.MINUTE, 1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals((60 * 1000), result);
+
+        // Date1 later than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.MINUTE, -1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(-(60 * 1000), result);
+    }
+
+    @Test
+    public void TestHourDifference() {
+        // Date1 earlier than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.HOUR, 1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals((60 * 60 * 1000), result);
+
+        // Date1 later than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.HOUR, -1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(-(60 * 60 * 1000), result);
+    }
+
+    @Test
+    public void TestDayDifference() {
+        // Date1 earlier than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals((24 * 60 * 60 * 1000), result);
+
+        // Date1 later than date2.
+        calendar.setTime(date1);
+        calendar.add(Calendar.DAY_OF_MONTH, -1);
+        date2 = calendar.getTime();
+        result = computeTime.ComputeDateDifference(date1, date2);
+        Assert.assertEquals(-(24 * 60 * 60 * 1000), result);
+    }
+
+    //endregion Tests
+}
-- 
GitLab