@Test
public void getDistinctValuesInSourceSheetColumnTest() {

    // given (only headers in source)
    XSSFWorkbook workbook = new XSSFWorkbook();
    XSSFSheet sheet = workbook.createSheet();
    sheet.createRow(0).createCell(0).setCellValue("row");
    sheet.createRow(1).createCell(0).setCellValue(1);
    sheet.createRow(2).createCell(0).setCellValue("fieldname");
    // when
    List<Cell> l = p.getDistinctValuesInSourceSheetColumn(sheet, 0);
    // then
    Assertions.assertThat(l.size()).isEqualTo(0);
    // and when (values are added)
    sheet.createRow(3).createCell(0).setCellValue("a");
    sheet.createRow(4).createCell(0).setCellValue("a");
    sheet.createRow(5).createCell(0).setCellValue("b");
    sheet.createRow(6).createCell(0).setCellValue(1);
    sheet.createRow(7).createCell(0).setCellValue(""); // empty string differs from empty cell
    sheet.createRow(8).createCell(0);  // empty string differs from empty cell
    l = p.getDistinctValuesInSourceSheetColumn(sheet, 0);
    // then
    Assertions.assertThat(l.size()).isEqualTo(5);
}