public void testGetFluShotDelinquents()
      throws DBException, IOException, FileNotFoundException, SQLException {
    gen.patient1();
    gen.patient2();
    gen.patient3();
    List<VisitReminderReturnForm> visRems = visRemDAO.getFluShotDelinquents(LHCP);

    assertEquals(2, visRems.size());
    VisitReminderReturnForm reminder = visRems.get(0);
    assertEquals(reminder.getLastName(), "Needs");
    assertEquals(reminder.getPatientID(), 3);
    /*
     * We need to account for "today" changing. Note that tests should NOT normally have if-statements in
     * them.
     */
    if (getCurrentMonth() >= 8 && getCurrentMonth() <= 11) // if we are in [Sep,Dec]
    assertEquals(VisitFlag.MISSING_MEDICATION, reminder.getVisitFlags()[0].getType());
    else
      // otherwise we are in [Jan,Aug]
      assertEquals(VisitFlag.MISSED_MEDICATION, reminder.getVisitFlags()[0].getType());
    assertEquals(reminder.getVisitFlags()[0].getValue(), "Flu Shot");
    reminder = visRems.get(1);
    assertEquals(reminder.getLastName(), "Person");
    assertEquals(reminder.getPatientID(), 1);
    if (getCurrentMonth() >= 8 && getCurrentMonth() <= 11) // if we are in [Sep,Dec]
    assertEquals(reminder.getVisitFlags()[0].getType(), VisitFlag.MISSING_MEDICATION);
    else
      // otherwise we are in [Jan,Aug]
      assertEquals(reminder.getVisitFlags()[0].getType(), VisitFlag.MISSED_MEDICATION);
    assertEquals(reminder.getVisitFlags()[0].getValue(), "Flu Shot");
  }
 public void testGetDiagnosedVisitNeeders()
     throws DBException, IOException, FileNotFoundException, SQLException {
   gen.patient1();
   gen.patient2();
   gen.patient3();
   List<VisitReminderReturnForm> visRems = visRemDAO.getDiagnosedVisitNeeders(LHCP);
   VisitReminderReturnForm reminder = visRems.get(0);
   assertEquals(reminder.getLastName(), "Person");
   assertEquals(reminder.getPatientID(), 1);
   assertEquals(reminder.getVisitFlags()[0].getType(), VisitFlag.DIAGNOSED);
   assertEquals(reminder.getVisitFlags()[0].getValue(), "250.00");
 }