Skip to content
Snippets Groups Projects
Commit 02591b31 authored by ahmadaldhalaan's avatar ahmadaldhalaan
Browse files

added DB Exception tests - reached 91% code coverage

parent 12cf09bf
No related branches found
No related tags found
2 merge requests!7Uc20,!2UC20 Data Access Object Completed
package edu.ncsu.csc.itrust.UC20; package edu.ncsu.csc.itrust.unit.dao.CauseOfDeathTrendsReportDAO;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -8,6 +8,7 @@ import junit.framework.TestCase; ...@@ -8,6 +8,7 @@ import junit.framework.TestCase;
import edu.ncsu.csc.itrust.dao.mysql.CauseOfDeathTrendsReportDAO; import edu.ncsu.csc.itrust.dao.mysql.CauseOfDeathTrendsReportDAO;
import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator; import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator;
import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory; import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory;
import edu.ncsu.csc.itrust.unit.testutils.EvilDAOFactory;
import edu.ncsu.csc.itrust.exception.DBException; import edu.ncsu.csc.itrust.exception.DBException;
...@@ -15,21 +16,23 @@ public class CauseOfDeathTrendsReportTest extends TestCase { ...@@ -15,21 +16,23 @@ public class CauseOfDeathTrendsReportTest extends TestCase {
private TestDataGenerator gen = new TestDataGenerator(); private TestDataGenerator gen = new TestDataGenerator();
private CauseOfDeathTrendsReportDAO cod; private CauseOfDeathTrendsReportDAO cod;
private CauseOfDeathTrendsReportDAO evilDAO = new CauseOfDeathTrendsReportDAO(EvilDAOFactory.getEvilInstance());
@Override @Override
protected void setUp() throws Exception { protected void setUp() throws Exception {
gen = new TestDataGenerator(); gen = new TestDataGenerator();
gen.clearAllTables(); gen.clearAllTables();
gen.deadpatient1(); gen.deadPatient1();
gen.deadpatient2(); gen.deadPatient2();
gen.deadpatient3(); gen.deadPatient3();
gen.deadpatient4(); gen.deadPatient4();
gen.deadpatient5(); gen.deadPatient5();
gen.deadpatient6(); gen.deadPatient6();
gen.deadpatient7(); gen.deadPatient7();
gen.deadpatient8(); gen.deadPatient8();
gen.deadpatient9(); gen.deadPatient9();
gen.deadpatient10(); gen.deadPatient10();
gen.icd9cmCodes(); gen.icd9cmCodes();
cod = new CauseOfDeathTrendsReportDAO(TestDAOFactory.getTestInstance()); cod = new CauseOfDeathTrendsReportDAO(TestDAOFactory.getTestInstance());
...@@ -46,37 +49,51 @@ public class CauseOfDeathTrendsReportTest extends TestCase { ...@@ -46,37 +49,51 @@ public class CauseOfDeathTrendsReportTest extends TestCase {
assertEquals(Long.valueOf(86), deaths.get(5)); assertEquals(Long.valueOf(86), deaths.get(5));
} }
/*public void testPatientsForHCPInvalidID() throws Exception { public void testPatientsForHCPException() throws Exception {
try { try {
cod.getPatientsForHCP(Long("0")); evilDAO.getPatientsForHCP(Long.parseLong("0000000000"));
fail("Should have failed but didn't"); fail("DBException should have been thrown");
} catch (FormValidationException e) { } catch (DBException e) {
assertEquals(1, e.getErrorList().size()); assertEquals(EvilDAOFactory.MESSAGE, e.getSQLException().getMessage());
assertEquals("HCP ID must be valid!", e.getErrorList().get(0));
} }
} }
*/
public void testTopTwoDeathsForHCPValid() throws Exception {
public void testTopTwoCorrectForHCPValid() throws Exception {
List<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); List<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31"));
assertEquals(2, deaths.size()); assertEquals(2, deaths.size());
assertEquals("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 3", deaths.get(0)); 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("Name: Malaria, Code: 84.50, Deaths: 2", deaths.get(1));
} }
public void testTopTwoCorrectMaleForHCPValid() throws Exception { 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<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "Male", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31"));
assertEquals(2, deaths.size()); assertEquals(2, deaths.size());
assertEquals("Name: Malaria, Code: 84.50, Deaths: 2", deaths.get(0)); 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("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 2", deaths.get(1));
} }
/*public void testTopTwoCorrectForAllValid() throws Exception { public void testTopTwoDeathsForHCPException() throws Exception {
try {
evilDAO.getTopTwoDeathsForHCP(Long.parseLong("0000000000"), "All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31"));
fail("DBException should have been thrown");
} catch (DBException e) {
assertEquals(EvilDAOFactory.MESSAGE, e.getSQLException().getMessage());
}
}
public void testTopTwoDeathsForAllValid() throws Exception {
List<String> deaths = cod.getTopTwoDeathsForAll("All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); List<String> deaths = cod.getTopTwoDeathsForAll("All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31"));
assertEquals(2, deaths.size()); assertEquals(2, deaths.size());
assertEquals("Name: Influenza, Code: 487.00, Deaths: 5", deaths.get(0)); 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("Name: Tuberculosis of the lung, Code: 11.40, Deaths: 3", deaths.get(1));
}*/ }
public void testTopTwoDeathsForAllFemaleValid() throws Exception {
List<String> deaths = cod.getTopTwoDeathsForAll("Female", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31"));
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));
}
public void testCodeNameExists() throws Exception { public void testCodeNameExists() throws Exception {
String deaths = cod.getCodeName("84.50"); String deaths = cod.getCodeName("84.50");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment