Program: 76412
Project: 76412
Buggy source:
/** 
 * Test filters in data sets and queries. The dataset filters should  always be applied before the query filters.
 */
public void test14() throws Exception {
  this.dataSet.addFilter(new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_BOTTOM_N,"String_Node_Str")));
  this.dataSet.addFilter(new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_LE,"String_Node_Str")));
  String[] bindingNameGroup=new String[2];
  bindingNameGroup[0]="String_Node_Str";
  bindingNameGroup[1]="String_Node_Str";
  IBaseExpression[] bindingExprGroup=new IBaseExpression[2];
  bindingExprGroup[0]=new ScriptExpression("String_Node_Str");
  bindingExprGroup[1]=new ScriptExpression("String_Node_Str");
  GroupDefinition[] groupDefn=new GroupDefinition[]{new GroupDefinition("String_Node_Str"),new GroupDefinition("String_Node_Str")};
  groupDefn[0].setKeyExpression("String_Node_Str");
  groupDefn[1].setKeyExpression("String_Node_Str");
  String[] bindingNameRow=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  IBaseExpression[] bindingExprRow=new IBaseExpression[]{new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0)};
  FilterDefinition[] filterDefn=new FilterDefinition[]{new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_EQ,"String_Node_Str")),new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_BOTTOM_N,"String_Node_Str")),new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_TOP_N,"String_Node_Str"))};
  this.createAndRunQuery(bindingNameGroup,bindingExprGroup,groupDefn,null,null,null,null,null,filterDefn,bindingNameRow,bindingExprRow);
  checkOutputFile();
}

Fixed version (ground truth):
/** 
 * Test filters in data sets and queries. The dataset filters should always be applied before the query filters.
 */
public void test14() throws Exception {
  this.dataSet.addFilter(new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_BOTTOM_N,"String_Node_Str")));
  this.dataSet.addFilter(new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_LE,"String_Node_Str")));
  String[] bindingNameGroup=new String[2];
  bindingNameGroup[0]="String_Node_Str";
  bindingNameGroup[1]="String_Node_Str";
  IBaseExpression[] bindingExprGroup=new IBaseExpression[2];
  bindingExprGroup[0]=new ScriptExpression("String_Node_Str");
  bindingExprGroup[1]=new ScriptExpression("String_Node_Str");
  GroupDefinition[] groupDefn=new GroupDefinition[]{new GroupDefinition("String_Node_Str"),new GroupDefinition("String_Node_Str")};
  groupDefn[0].setKeyExpression("String_Node_Str");
  groupDefn[1].setKeyExpression("String_Node_Str");
  String[] bindingNameRow=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  IBaseExpression[] bindingExprRow=new IBaseExpression[]{new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0),new ScriptExpression("String_Node_Str",0)};
  FilterDefinition[] filterDefn=new FilterDefinition[]{new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_EQ,"String_Node_Str")),new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_BOTTOM_N,"String_Node_Str")),new FilterDefinition(new ConditionalExpression("String_Node_Str",ConditionalExpression.OP_TOP_N,"String_Node_Str"))};
  this.createAndRunQuery(bindingNameGroup,bindingExprGroup,groupDefn,null,null,null,null,null,filterDefn,bindingNameRow,bindingExprRow);
  checkOutputFile();
}