Program: 81549
Project: 81549
Buggy source:
public void testForIfTag3() throws IOException, ParsePropertyException {
  Map beans=new HashMap();
  beans.put("String_Node_Str",departments);
  beans.put("String_Node_Str","String_Node_Str");
  Configuration config=new Configuration();
  config.setMetaInfoToken("String_Node_Str");
  InputStream is=new BufferedInputStream(getClass().getResourceAsStream(forifTag3XLS));
  XLSTransformer transformer=new XLSTransformer(config);
  HSSFWorkbook resultWorkbook=transformer.transformXLS(is,beans);
  is.close();
  is=new BufferedInputStream(getClass().getResourceAsStream(forifTag3XLS));
  POIFSFileSystem fs=new POIFSFileSystem(is);
  HSSFWorkbook sourceWorkbook=new HSSFWorkbook(fs);
  HSSFSheet sourceSheet=sourceWorkbook.getSheetAt(0);
  HSSFSheet resultSheet=resultWorkbook.getSheetAt(0);
  assertEquals("String_Node_Str",sourceSheet.getFirstRowNum(),resultSheet.getFirstRowNum());
  assertEquals("String_Node_Str",54,resultSheet.getLastRowNum());
  Map props=new HashMap();
  CellsChecker checker=new CellsChecker(props);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,0,3);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,4,3);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,8,3);
  checker.checkRows(sourceSheet,resultSheet,11,3,1);
  checker.checkRows(sourceSheet,resultSheet,11,7,1);
  checker.checkRows(sourceSheet,resultSheet,11,11,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,12,3);
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)1,new Double[]{new Double(2300),new Double(2500),new Double(2800)});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)2,new Double[]{new Double(0.25),new Double(0.00),new Double(0.20)});
  checker.checkRows(sourceSheet,resultSheet,11,18,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,19,3);
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)0,new String[]{"String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)1,new Double[]{new Double(2100)});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)2,new Double[]{new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,11,23,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,24,3);
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)1,new Double[]{new Double(2400),new Double(2200),new Double(2600)});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)2,new Double[]{new Double(0.20),new Double(0.15),new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,11,30,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,14,12,3);
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)1,new Double[]{new Double(2300),new Double(2500),new Double(2800)});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)2,new Double[]{new Double(0.25),new Double(0.00),new Double(0.20)});
  checker.checkRows(sourceSheet,resultSheet,22,18,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,14,19,3);
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)0,new String[]{"String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)1,new Double[]{new Double(2100)});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)2,new Double[]{new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,22,23,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,14,24,3);
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)1,new Double[]{new Double(2400),new Double(2200),new Double(2600)});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)2,new Double[]{new Double(0.20),new Double(0.15),new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,22,30,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,25,31,3);
  checker.checkListCells(sourceSheet,29,resultSheet,34,(short)0,itEmployeeNames);
  checker.checkListCells(sourceSheet,29,resultSheet,34,(short)1,itPayments);
  checker.checkListCells(sourceSheet,29,resultSheet,34,(short)2,itBonuses);
  checker.checkRows(sourceSheet,resultSheet,31,18,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,25,40,3);
  checker.checkListCells(sourceSheet,29,resultSheet,43,(short)0,hrEmployeeNames);
  checker.checkListCells(sourceSheet,29,resultSheet,43,(short)1,hrPayments);
  checker.checkListCells(sourceSheet,29,resultSheet,43,(short)2,hrBonuses);
  checker.checkRows(sourceSheet,resultSheet,31,23,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,25,48,3);
  checker.checkListCells(sourceSheet,29,resultSheet,51,(short)0,baEmployeeNames);
  checker.checkListCells(sourceSheet,29,resultSheet,51,(short)1,baPayments);
  checker.checkListCells(sourceSheet,29,resultSheet,51,(short)2,baBonuses);
  checker.checkRows(sourceSheet,resultSheet,31,30,1);
  is.close();
  saveWorkbook(resultWorkbook,forifTag3DestXLS);
}

Fixed version (ground truth):
public void testForIfTag3() throws IOException, ParsePropertyException {
  Map beans=new HashMap();
  beans.put("String_Node_Str",departments);
  beans.put("String_Node_Str","String_Node_Str");
  List deps=new ArrayList();
  Department testDep=new Department("String_Node_Str");
  deps.add(testDep);
  beans.put("String_Node_Str",deps);
  List employees=new ArrayList();
  beans.put("String_Node_Str",employees);
  Configuration config=new Configuration();
  config.setMetaInfoToken("String_Node_Str");
  InputStream is=new BufferedInputStream(getClass().getResourceAsStream(forifTag3XLS));
  XLSTransformer transformer=new XLSTransformer(config);
  HSSFWorkbook resultWorkbook=transformer.transformXLS(is,beans);
  is.close();
  is=new BufferedInputStream(getClass().getResourceAsStream(forifTag3XLS));
  POIFSFileSystem fs=new POIFSFileSystem(is);
  HSSFWorkbook sourceWorkbook=new HSSFWorkbook(fs);
  HSSFSheet sourceSheet=sourceWorkbook.getSheetAt(0);
  HSSFSheet resultSheet=resultWorkbook.getSheetAt(0);
  assertEquals("String_Node_Str",sourceSheet.getFirstRowNum(),resultSheet.getFirstRowNum());
  assertEquals("String_Node_Str",54,resultSheet.getLastRowNum());
  Map props=new HashMap();
  CellsChecker checker=new CellsChecker(props);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,0,3);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,4,3);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,8,3);
  checker.checkRows(sourceSheet,resultSheet,11,3,1);
  checker.checkRows(sourceSheet,resultSheet,11,7,1);
  checker.checkRows(sourceSheet,resultSheet,11,11,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,12,3);
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)1,new Double[]{new Double(2300),new Double(2500),new Double(2800)});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)2,new Double[]{new Double(0.25),new Double(0.00),new Double(0.20)});
  checker.checkRows(sourceSheet,resultSheet,11,18,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,19,3);
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)0,new String[]{"String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)1,new Double[]{new Double(2100)});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)2,new Double[]{new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,11,23,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,1,24,3);
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)1,new Double[]{new Double(2400),new Double(2200),new Double(2600)});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)2,new Double[]{new Double(0.20),new Double(0.15),new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,11,30,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,14,12,3);
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)1,new Double[]{new Double(2300),new Double(2500),new Double(2800)});
  checker.checkListCells(sourceSheet,19,resultSheet,15,(short)2,new Double[]{new Double(0.25),new Double(0.00),new Double(0.20)});
  checker.checkRows(sourceSheet,resultSheet,22,18,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,14,19,3);
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)0,new String[]{"String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)1,new Double[]{new Double(2100)});
  checker.checkListCells(sourceSheet,19,resultSheet,22,(short)2,new Double[]{new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,22,23,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,14,24,3);
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)0,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)1,new Double[]{new Double(2400),new Double(2200),new Double(2600)});
  checker.checkListCells(sourceSheet,19,resultSheet,27,(short)2,new Double[]{new Double(0.20),new Double(0.15),new Double(0.10)});
  checker.checkRows(sourceSheet,resultSheet,22,30,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,25,31,3);
  checker.checkListCells(sourceSheet,29,resultSheet,34,(short)0,itEmployeeNames);
  checker.checkListCells(sourceSheet,29,resultSheet,34,(short)1,itPayments);
  checker.checkListCells(sourceSheet,29,resultSheet,34,(short)2,itBonuses);
  checker.checkRows(sourceSheet,resultSheet,31,18,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,25,40,3);
  checker.checkListCells(sourceSheet,29,resultSheet,43,(short)0,hrEmployeeNames);
  checker.checkListCells(sourceSheet,29,resultSheet,43,(short)1,hrPayments);
  checker.checkListCells(sourceSheet,29,resultSheet,43,(short)2,hrBonuses);
  checker.checkRows(sourceSheet,resultSheet,31,23,1);
  props.put("String_Node_Str","String_Node_Str");
  checker.checkRows(sourceSheet,resultSheet,25,48,3);
  checker.checkListCells(sourceSheet,29,resultSheet,51,(short)0,baEmployeeNames);
  checker.checkListCells(sourceSheet,29,resultSheet,51,(short)1,baPayments);
  checker.checkListCells(sourceSheet,29,resultSheet,51,(short)2,baBonuses);
  checker.checkRows(sourceSheet,resultSheet,31,30,1);
  sourceSheet=sourceWorkbook.getSheetAt(1);
  resultSheet=resultWorkbook.getSheetAt(1);
  assertEquals("String_Node_Str",1,resultSheet.getLastRowNum() + 1);
  checker.setIgnoreFirstLastCellNums(true);
  checker.checkRows(sourceSheet,resultSheet,11,0,1);
  is.close();
  saveWorkbook(resultWorkbook,forifTag3DestXLS);
}