diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/dao/deaths/CauseOfDeathTrendsReportTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/deaths/CauseOfDeathTrendsReportTest.java index 1ad125da76af0361bae0aa29709973a86516476a..4ccfa1a9b28100eaf9b2e91543cd01571b4407a4 100644 --- a/iTrust/test/edu/ncsu/csc/itrust/unit/dao/deaths/CauseOfDeathTrendsReportTest.java +++ b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/deaths/CauseOfDeathTrendsReportTest.java @@ -6,6 +6,7 @@ import java.sql.Date; import junit.framework.TestCase; import edu.ncsu.csc.itrust.dao.mysql.CauseOfDeathTrendsReportDAO; +import edu.ncsu.csc.itrust.beans.CauseOfDeathTrendsReportBean; import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator; import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory; import edu.ncsu.csc.itrust.unit.testutils.EvilDAOFactory; @@ -14,16 +15,15 @@ import edu.ncsu.csc.itrust.exception.DBException; public class CauseOfDeathTrendsReportTest extends TestCase { - private TestDataGenerator gen = new TestDataGenerator(); private CauseOfDeathTrendsReportDAO cod; private CauseOfDeathTrendsReportDAO evilDAO = new CauseOfDeathTrendsReportDAO(EvilDAOFactory.getEvilInstance()); @Override protected void setUp() throws Exception { - gen = new TestDataGenerator(); + TestDataGenerator gen = new TestDataGenerator(); gen.clearAllTables(); - gen.deadPatient1(); + gen.deadPatient1(); gen.deadPatient2(); gen.deadPatient3(); gen.deadPatient4(); @@ -57,51 +57,77 @@ public class CauseOfDeathTrendsReportTest extends TestCase { assertEquals(EvilDAOFactory.MESSAGE, e.getSQLException().getMessage()); } } + + public void testCodeNameExists() throws Exception { + String deaths = cod.getCodeName("84.50"); + assertEquals("Malaria", deaths); + } + + public void testCodeNameDoesNotExist() throws Exception { + String deaths = cod.getCodeName("8450"); + assertEquals(null, deaths); + } public void testTopTwoDeathsForHCPValid() throws Exception { - List<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + List<CauseOfDeathTrendsReportBean> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "All", "01/01/2018", "12/31/2020"); assertEquals(2, deaths.size()); - assertEquals("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 3", deaths.get(0)); - assertEquals("Name: Malaria, Code: 84.50, Deaths: 2", deaths.get(1)); + assertEquals("11.40", deaths.get(0).getCode()); + assertEquals("Tuberculosis of the lung", deaths.get(0).getCause()); + assertEquals("3", deaths.get(0).getDeaths()); + assertEquals("84.50", deaths.get(1).getCode()); + assertEquals("Malaria", deaths.get(1).getCause()); + assertEquals("2", deaths.get(1).getDeaths()); } public void testTopTwoDeathsForHCPMaleValid() throws Exception { - List<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "Male", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + List<CauseOfDeathTrendsReportBean> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "Male", "01/01/2018", "12/31/2020"); assertEquals(2, deaths.size()); - assertEquals("Name: Malaria, Code: 84.50, Deaths: 2", deaths.get(0)); - assertEquals("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 2", deaths.get(1)); + assertEquals("84.50", deaths.get(0).getCode()); + assertEquals("Malaria", deaths.get(0).getCause()); + assertEquals("2", deaths.get(0).getDeaths()); + assertEquals("11.40", deaths.get(1).getCode()); + assertEquals("Tuberculosis of the lung", deaths.get(1).getCause()); + assertEquals("2", deaths.get(1).getDeaths()); } public void testTopTwoDeathsForHCPException() throws Exception { try { - evilDAO.getTopTwoDeathsForHCP(Long.parseLong("0000000000"), "All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + evilDAO.getTopTwoDeathsForHCP(Long.parseLong("0000000000"), "All", "01/01/1990", "12/31/2020"); fail("DBException should have been thrown"); } catch (DBException e) { assertEquals(EvilDAOFactory.MESSAGE, e.getSQLException().getMessage()); } - } + } + + public void testTopTwoDeathsForHCPNullDate() throws Exception { + List<CauseOfDeathTrendsReportBean> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "Male", null, "12/31/2020"); + assertEquals(null, deaths); + } public void testTopTwoDeathsForAllValid() throws Exception { - List<String> deaths = cod.getTopTwoDeathsForAll("All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + List<CauseOfDeathTrendsReportBean> deaths = cod.getTopTwoDeathsForAll("All", "01/01/2018", "12/31/2020"); assertEquals(2, deaths.size()); - assertEquals("Name: Influenza, Code: 487.00, Deaths: 5", deaths.get(0)); - assertEquals("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 3", deaths.get(1)); + assertEquals("487.00", deaths.get(0).getCode()); + assertEquals("Influenza", deaths.get(0).getCause()); + assertEquals("5", deaths.get(0).getDeaths()); + assertEquals("11.40", deaths.get(1).getCode()); + assertEquals("Tuberculosis of the lung", deaths.get(1).getCause()); + assertEquals("3", deaths.get(1).getDeaths()); } public void testTopTwoDeathsForAllFemaleValid() throws Exception { - List<String> deaths = cod.getTopTwoDeathsForAll("Female", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + List<CauseOfDeathTrendsReportBean> deaths = cod.getTopTwoDeathsForAll("Female", "01/01/2018", "12/31/2020"); assertEquals(2, deaths.size()); - assertEquals("Name: Influenza, Code: 487.00, Deaths: 2", deaths.get(0)); - assertEquals("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 1", deaths.get(1)); + assertEquals("487.00", deaths.get(0).getCode()); + assertEquals("Influenza", deaths.get(0).getCause()); + assertEquals("2", deaths.get(0).getDeaths()); + assertEquals("11.40", deaths.get(1).getCode()); + assertEquals("Tuberculosis of the lung", deaths.get(1).getCause()); + assertEquals("1", deaths.get(1).getDeaths()); } - public void testCodeNameExists() throws Exception { - String deaths = cod.getCodeName("84.50"); - assertEquals("Malaria", deaths); - } - - public void testCodeNameDoesNotExist() throws Exception { - String deaths = cod.getCodeName("8450"); + public void testTopTwoDeathsForAllNullDate() throws Exception { + List<CauseOfDeathTrendsReportBean> deaths = cod.getTopTwoDeathsForAll("Male", null, "12/31/2020"); assertEquals(null, deaths); } } \ No newline at end of file