diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/action/ViewDiagnosisStatisticsActionTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/action/ViewDiagnosisStatisticsActionTest.java
index 000bc468bcd8bfb0cb9d990ca291bcc6fc82f8a5..6191860cbba9f68c75c9297c287c95f2a1694594 100644
--- a/iTrust/test/edu/ncsu/csc/itrust/unit/action/ViewDiagnosisStatisticsActionTest.java
+++ b/iTrust/test/edu/ncsu/csc/itrust/unit/action/ViewDiagnosisStatisticsActionTest.java
@@ -88,11 +88,46 @@ public class ViewDiagnosisStatisticsActionTest extends TestCase {
 		}
 	}
 	
-	public void testIsMalariaEpidemic() throws Exception {
-		gen.malaria_epidemic();
-		assertTrue(action.isMalariaEpidemic("11/02/" + thisYear, "27606", "110"));
-		assertFalse(action.isMalariaEpidemic("11/16/" + thisYear, "27606", "110"));
-	}
+	public void testIsMalariaEpidemicBasic() throws Exception {
+		gen.malaria_epidemic1();
+		assertFalse(action.isMalariaEpidemic("11/02/" + thisYear, "27606", "110"));
+		assertTrue(action.isMalariaEpidemic("11/16/" + thisYear, "27606", "110"));
+    }
+    
+    public void testIsMalariaEpidemicRolling() throws Exception {
+        int year = thisYear-20;
+        gen.malaria_epidemic2();
+        assertFalse(action.isMalariaEpidemic("11/01/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/02/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/03/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/04/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/05/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/06/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/07/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/08/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/09/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/10/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/11/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/12/" + year, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("11/13/" + year, "27606", "110"));
+        assertTrue(action.isMalariaEpidemic("11/14/" + year, "27606", "110"));
+        assertTrue(action.isMalariaEpidemic("11/15/" + year, "27606", "110"));
+    }
+
+    public void testIsMalariaEpidemicEdge() throws Exception {
+        int year = thisYear - 20;
+        gen.malaria_epidemic3();
+        // Exactly 100 percentile
+        assertFalse(action.isMalariaEpidemic("11/02/" + thisYear, "27606", "110"));
+
+        // Threshold shouldn't matter if there is no history
+        assertTrue(action.isMalariaEpidemic("10/10/" + year, "27606", "110"));
+        assertTrue(action.isMalariaEpidemic("10/10/" + year, "27606", "100000000"));
+
+        // Date/zip with 0 cases should be false
+        assertFalse(action.isMalariaEpidemic("02/02/" + thisYear, "27606", "110"));
+        assertFalse(action.isMalariaEpidemic("10/10/" + thisYear, "99999", "110"));
+    }
 	
 	public void testIsFluEpidemic() throws Exception {
 		gen.influenza_epidemic();