From b3f544333b2301d9221f77c04613f8872653b44a Mon Sep 17 00:00:00 2001 From: ahmadaldhalaan <46313624+ahmadaldhalaan@users.noreply.github.com> Date: Wed, 4 Nov 2020 01:00:32 +1100 Subject: [PATCH] uploaded deadPatient sql files, updated TestDataGenerator and CauseOfDeathTrendsReportTest.java test file --- iTrust/sql/data/deadPatient1.sql | 6 ++ iTrust/sql/data/deadPatient10.sql | 6 ++ iTrust/sql/data/deadPatient2.sql | 6 ++ iTrust/sql/data/deadPatient3.sql | 6 ++ iTrust/sql/data/deadPatient4.sql | 6 ++ iTrust/sql/data/deadPatient5.sql | 6 ++ iTrust/sql/data/deadPatient6.sql | 6 ++ iTrust/sql/data/deadPatient7.sql | 6 ++ iTrust/sql/data/deadPatient8.sql | 6 ++ iTrust/sql/data/deadPatient9.sql | 6 ++ .../deaths/CauseOfDeathTrendsReportTest.java | 90 +++++++++++++++++++ .../datagenerators/TestDataGenerator.java | 40 +++++++++ 12 files changed, 190 insertions(+) create mode 100644 iTrust/sql/data/deadPatient1.sql create mode 100644 iTrust/sql/data/deadPatient10.sql create mode 100644 iTrust/sql/data/deadPatient2.sql create mode 100644 iTrust/sql/data/deadPatient3.sql create mode 100644 iTrust/sql/data/deadPatient4.sql create mode 100644 iTrust/sql/data/deadPatient5.sql create mode 100644 iTrust/sql/data/deadPatient6.sql create mode 100644 iTrust/sql/data/deadPatient7.sql create mode 100644 iTrust/sql/data/deadPatient8.sql create mode 100644 iTrust/sql/data/deadPatient9.sql create mode 100644 iTrust/test/edu/ncsu/csc/itrust/unit/dao/deaths/CauseOfDeathTrendsReportTest.java diff --git a/iTrust/sql/data/deadPatient1.sql b/iTrust/sql/data/deadPatient1.sql new file mode 100644 index 0000000..cdd9eb0 --- /dev/null +++ b/iTrust/sql/data/deadPatient1.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (81,'Male','2019-07-01',84.50); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (201,9000000000,81); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient10.sql b/iTrust/sql/data/deadPatient10.sql new file mode 100644 index 0000000..2660e9b --- /dev/null +++ b/iTrust/sql/data/deadPatient10.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (90,'Male','2019-01-01',487.00); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (210,9000000001,90); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient2.sql b/iTrust/sql/data/deadPatient2.sql new file mode 100644 index 0000000..1e61529 --- /dev/null +++ b/iTrust/sql/data/deadPatient2.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (82,'Male','2018-07-01',11.40); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (202,9000000000,82); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient3.sql b/iTrust/sql/data/deadPatient3.sql new file mode 100644 index 0000000..65a41cd --- /dev/null +++ b/iTrust/sql/data/deadPatient3.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (83,'Female','2018-07-01',11.40); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (203,9000000000,83); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient4.sql b/iTrust/sql/data/deadPatient4.sql new file mode 100644 index 0000000..a26c780 --- /dev/null +++ b/iTrust/sql/data/deadPatient4.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (84,'Male','2018-12-01',11.40); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (204,9000000000,84); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient5.sql b/iTrust/sql/data/deadPatient5.sql new file mode 100644 index 0000000..4affb62 --- /dev/null +++ b/iTrust/sql/data/deadPatient5.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (85,'Male','2020-01-01',84.50); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (205,9000000000,85); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient6.sql b/iTrust/sql/data/deadPatient6.sql new file mode 100644 index 0000000..f0bf0ef --- /dev/null +++ b/iTrust/sql/data/deadPatient6.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (86,'Male','2018-12-01',487.00); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (206,9000000000,86); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient7.sql b/iTrust/sql/data/deadPatient7.sql new file mode 100644 index 0000000..8e86cd2 --- /dev/null +++ b/iTrust/sql/data/deadPatient7.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (87,'Female','2019-12-01',487.00); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (207,9000000001,87); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient8.sql b/iTrust/sql/data/deadPatient8.sql new file mode 100644 index 0000000..d2d6789 --- /dev/null +++ b/iTrust/sql/data/deadPatient8.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (88,'Female','2020-07-01',487.00); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (208,9000000001,88); \ No newline at end of file diff --git a/iTrust/sql/data/deadPatient9.sql b/iTrust/sql/data/deadPatient9.sql new file mode 100644 index 0000000..84f08ea --- /dev/null +++ b/iTrust/sql/data/deadPatient9.sql @@ -0,0 +1,6 @@ +INSERT INTO patients (MID, Gender, DateOfDeath, CauseOfDeath) +VALUES (89,'Male','2020-01-01',487.00); + + +INSERT INTO officevisits(id,HCPID,PatientID) +VALUES (209,9000000001,89); \ No newline at end of file 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 new file mode 100644 index 0000000..b79acef --- /dev/null +++ b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/deaths/CauseOfDeathTrendsReportTest.java @@ -0,0 +1,90 @@ +package edu.ncsu.csc.itrust.UC20; + +import java.util.List; +import java.util.ArrayList; +import java.sql.Date; + +import junit.framework.TestCase; +import edu.ncsu.csc.itrust.dao.mysql.CauseOfDeathTrendsReportDAO; +import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator; +import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory; +import edu.ncsu.csc.itrust.exception.DBException; + + +public class CauseOfDeathTrendsReportTest extends TestCase { + + private TestDataGenerator gen = new TestDataGenerator(); + private CauseOfDeathTrendsReportDAO cod; + + @Override + protected void setUp() throws Exception { + gen = new TestDataGenerator(); + gen.clearAllTables(); + gen.deadpatient1(); + gen.deadpatient2(); + gen.deadpatient3(); + gen.deadpatient4(); + gen.deadpatient5(); + gen.deadpatient6(); + gen.deadpatient7(); + gen.deadpatient8(); + gen.deadpatient9(); + gen.deadpatient10(); + gen.icd9cmCodes(); + + cod = new CauseOfDeathTrendsReportDAO(TestDAOFactory.getTestInstance()); + } + + public void testPatientsForHCPValid() throws Exception { + List<Long> deaths = cod.getPatientsForHCP(Long.parseLong("9000000000")); + assertEquals(6, deaths.size()); + assertEquals(Long.valueOf(81), deaths.get(0)); + assertEquals(Long.valueOf(82), deaths.get(1)); + assertEquals(Long.valueOf(83), deaths.get(2)); + assertEquals(Long.valueOf(84), deaths.get(3)); + assertEquals(Long.valueOf(85), deaths.get(4)); + assertEquals(Long.valueOf(86), deaths.get(5)); + } + + /*public void testPatientsForHCPInvalidID() throws Exception { + try { + cod.getPatientsForHCP(Long("0")); + fail("Should have failed but didn't"); + } catch (FormValidationException e) { + assertEquals(1, e.getErrorList().size()); + assertEquals("HCP ID must be valid!", e.getErrorList().get(0)); + } + } + */ + + public void testTopTwoCorrectForHCPValid() throws Exception { + List<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + 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)); + } + + public void testTopTwoCorrectMaleForHCPValid() throws Exception { + List<String> deaths = cod.getTopTwoDeathsForHCP(Long.parseLong("9000000000"), "Male", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + 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)); + } + + /*public void testTopTwoCorrectForAllValid() throws Exception { + List<String> deaths = cod.getTopTwoDeathsForAll("All", Date.valueOf("2018-01-01"), Date.valueOf("2020-12-31")); + 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)); + }*/ + + 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); + } +} \ No newline at end of file diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/datagenerators/TestDataGenerator.java b/iTrust/test/edu/ncsu/csc/itrust/unit/datagenerators/TestDataGenerator.java index 0303712..7b87da2 100644 --- a/iTrust/test/edu/ncsu/csc/itrust/unit/datagenerators/TestDataGenerator.java +++ b/iTrust/test/edu/ncsu/csc/itrust/unit/datagenerators/TestDataGenerator.java @@ -121,6 +121,46 @@ public class TestDataGenerator { + "/deadRecurringPatients.sql"); } + public void deadPatient1() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient1.sql"); + } + + public void deadPatient2() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient2.sql"); + } + + public void deadPatient3() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient3.sql"); + } + + public void deadPatient4() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient4.sql"); + } + + public void deadPatient5() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient5.sql"); + } + + public void deadPatient6() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient6.sql"); + } + + public void deadPatient7() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient7.sql"); + } + + public void deadPatient8() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient8.sql"); + } + + public void deadPatient9() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient9.sql"); + } + + public void deadPatient10() throws FileNotFoundException, SQLException, IOException { + new DBBuilder(factory).executeSQLFile(DIR + "/deadPatient10.sql"); + } + public void diagnosedPatient_OldAndNewVisit() throws SQLException, FileNotFoundException, IOException { new DBBuilder(factory).executeSQLFile(DIR -- GitLab