Program: 162798
Project: 162798
Buggy source:
protected static void checkMiningSchema(InputSchema schema,MiningSchema miningSchema){
  assertNotNull(miningSchema);
  List<MiningField> miningFields=miningSchema.getMiningFields();
  List<String> expectedFeatureNames=schema.getFeatureNames();
  assertEquals(expectedFeatureNames.size(),miningFields.size());
  for (int i=0; i < expectedFeatureNames.size(); i++) {
    MiningField miningField=miningFields.get(i);
    String expectedFeature=expectedFeatureNames.get(i);
    assertEquals(expectedFeature,miningField.getName().getValue());
    if (schema.isNumeric(expectedFeature)) {
      assertEquals(OpType.CONTINUOUS,miningField.getOptype());
      if (schema.isTarget(expectedFeature)) {
        assertEquals(FieldUsageType.PREDICTED,miningField.getUsageType());
      }
 else {
        assertEquals(FieldUsageType.ACTIVE,miningField.getUsageType());
        assertTrue(miningField.getImportance() >= 0.0 && miningField.getImportance() <= 1.0);
      }
    }
 else     if (schema.isCategorical(expectedFeature)) {
      assertEquals(OpType.CATEGORICAL,miningField.getOptype());
      if (schema.isTarget(expectedFeature)) {
        assertEquals(FieldUsageType.PREDICTED,miningField.getUsageType());
      }
 else {
        assertEquals(FieldUsageType.ACTIVE,miningField.getUsageType());
        assertTrue(miningField.getImportance() >= 0.0 && miningField.getImportance() <= 1.0);
      }
    }
 else {
      assertEquals(FieldUsageType.SUPPLEMENTARY,miningField.getUsageType());
    }
  }
}

Fixed version (ground truth):
protected static void checkMiningSchema(InputSchema schema,MiningSchema miningSchema){
  assertNotNull(miningSchema);
  List<MiningField> miningFields=miningSchema.getMiningFields();
  List<String> expectedFeatureNames=schema.getFeatureNames();
  assertEquals("String_Node_Str",expectedFeatureNames.size(),miningFields.size());
  for (int i=0; i < expectedFeatureNames.size(); i++) {
    MiningField miningField=miningFields.get(i);
    String expectedFeature=expectedFeatureNames.get(i);
    String featureName=miningField.getName().getValue();
    assertEquals("String_Node_Str" + i,expectedFeature,featureName);
    if (schema.isNumeric(expectedFeature)) {
      assertEquals("String_Node_Str" + featureName,OpType.CONTINUOUS,miningField.getOptype());
      if (schema.isTarget(expectedFeature)) {
        assertEquals("String_Node_Str" + featureName,FieldUsageType.PREDICTED,miningField.getUsageType());
      }
 else {
        assertEquals("String_Node_Str" + featureName,FieldUsageType.ACTIVE,miningField.getUsageType());
        double importance=miningField.getImportance();
        assertTrue("String_Node_Str" + importance,importance >= 0.0 && importance <= 1.0);
      }
    }
 else     if (schema.isCategorical(expectedFeature)) {
      assertEquals("String_Node_Str" + featureName,OpType.CATEGORICAL,miningField.getOptype());
      if (schema.isTarget(expectedFeature)) {
        assertEquals("String_Node_Str" + featureName,FieldUsageType.PREDICTED,miningField.getUsageType());
      }
 else {
        assertEquals("String_Node_Str" + featureName,FieldUsageType.ACTIVE,miningField.getUsageType());
        double importance=miningField.getImportance();
        assertTrue("String_Node_Str" + importance,importance >= 0.0 && importance <= 1.0);
      }
    }
 else {
      assertEquals("String_Node_Str" + featureName,FieldUsageType.SUPPLEMENTARY,miningField.getUsageType());
    }
  }
}