void saveNewJobsByDate(String folderPath, String printerName)
      throws ClientProtocolException, IOException, ParseJobException {

    List<JobDetail> toSave = new ArrayList<JobDetail>();
    int getJobsFrom;

    String latestLog = LogFiles.getMostRecentLogFileName(folderPath, printerName);

    if (latestLog != null) {
      JobDetailCSV l2csv = new JobDetailCSV(latestLog);

      // We'll be resaving the latest csv as it may have new jobs
      toSave = l2csv.readCSV();

      getJobsFrom = LogFiles.getLastSavedJob(folderPath, printerName).getJobNumber();
    } else {
      getJobsFrom = 0;
    }

    List<JobDetail> newJobs = printer.getJobsSinceJobNumber(getJobsFrom);

    toSave.addAll(newJobs);

    LogFiles.sortJobsByNumber(toSave);

    TreeMap<LocalDate, List<JobDetail>> sorted = LogFiles.splitJobsByDate(toSave);

    for (LocalDate day : sorted.keySet()) {

      JobDetailCSV jd =
          new JobDetailCSV(csvFolder + "/" + printer.getPrinterName() + day.toString());
      jd.write(sorted.get(day));
    }
  }
  @Test
  public void splitJobsByDateTest() throws FileNotFoundException {
    List<JobDetail> jobs = LogFiles.getJobsFromFile(folderPath + "../threedaysjobs.csv");

    TreeMap<LocalDate, List<JobDetail>> sortedJobs = LogFiles.splitJobsByDate(jobs);

    assertEquals(3, sortedJobs.size());

    assertEquals(
        4, sortedJobs.get(LocalDate.parse("2015-11-23", LogFiles.filenameDateFormatter)).size());
    assertEquals(
        3, sortedJobs.get(LocalDate.parse("2015-11-24", LogFiles.filenameDateFormatter)).size());
    assertEquals(
        2, sortedJobs.get(LocalDate.parse("2015-11-25", LogFiles.filenameDateFormatter)).size());
  }
  @Test
  public void getLastSavedJobTest() throws FileNotFoundException {

    JobDetail lastJob = LogFiles.getLastSavedJob(folderPath, printerName);

    assertEquals(1635, lastJob.getJobNumber());
  }
  @Test
  public void getMostRecentLogFileNameFileNotFound() {

    String mostRecent = LogFiles.getMostRecentLogFileName(folderPath + "empty/", printerName);

    assertNull(mostRecent);
  }
  @Test
  public void getMostRecentLogFileName() {

    String mostRecent = LogFiles.getMostRecentLogFileName(folderPath, printerName);

    assertEquals("TestLog2015-11-25.csv", mostRecent);
  }
  @Test
  public void getLogFilesTest() {

    // We'll have a log file folder with a list of logs
    // MainPhotocopier2015-11-24.csv

    List<String> logFiles = LogFiles.getLogFiles(folderPath, printerName);

    assertEquals(3, logFiles.size());
  }
  @Test
  public void getJobsFromFileTest() throws FileNotFoundException {
    List<JobDetail> jobs = LogFiles.getJobsFromFile(folderPath + "../threedaysjobs.csv");

    assertEquals(9, jobs.size());
  }