Program: 75936
Project: 75936
Buggy source:
/** 
 * without measure
 * @throws OLAPException
 * @throws BirtException 
 */
public void testCursorWithoutMeasure() throws OLAPException, BirtException {
  ICubeQueryDefinition cqd=new CubeQueryDefinition(CubeCreator.cubeName);
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.ROW_EDGE);
  IDimensionDefinition timeDim=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition timeHier=timeDim.createHierarchy("String_Node_Str");
  timeHier.createLevel("String_Node_Str");
  IEdgeDefinition rowEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition geographyDim=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier=geographyDim.createHierarchy("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(cqd,this.scope,DataEngineContext.newInstance(DataEngineContext.DIRECT_PRESENTATION,scope,null,null)));
  CubeCursor dataCursor=cubeView.getCubeCursor();
  List columnEdgeBindingNames=new ArrayList();
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  List rowEdgeBindingNames=new ArrayList();
  rowEdgeBindingNames.add("String_Node_Str");
  try {
    this.printCubeAlongEdge(dataCursor,columnEdgeBindingNames,rowEdgeBindingNames,null,null,null,null,null);
    dataCursor.getObject("String_Node_Str");
  }
 catch (  Exception e) {
    assertTrue(e instanceof OLAPException);
  }
}

Fixed version (ground truth):
/** 
 * without measure
 * @throws OLAPException
 * @throws BirtException 
 */
public void testCursorWithoutMeasure() throws OLAPException, BirtException {
  ICubeQueryDefinition cqd=new CubeQueryDefinition(CubeCreator.cubeName);
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.ROW_EDGE);
  IDimensionDefinition timeDim=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition timeHier=timeDim.createHierarchy("String_Node_Str");
  timeHier.createLevel("String_Node_Str");
  IEdgeDefinition rowEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition geographyDim=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier=geographyDim.createHierarchy("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor();
  List columnEdgeBindingNames=new ArrayList();
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  List rowEdgeBindingNames=new ArrayList();
  rowEdgeBindingNames.add("String_Node_Str");
  try {
    this.printCubeAlongEdge(dataCursor,columnEdgeBindingNames,rowEdgeBindingNames,null,null,null,null,null);
    dataCursor.getObject("String_Node_Str");
  }
 catch (  Exception e) {
    assertTrue(e instanceof OLAPException);
  }
}