Program: 12045
Project: 12045
Buggy source:
/** 
 * Get sample implementation source code of the test methods.
 * @param testMethod
 * @param testMethods
 * @param testTargetClassname
 * @return sample implementation source code
 */
public static String getNotBlankTestMethodSource(MethodInfo testMethod,ClassInfo testClassinfo,String testTargetClassname){
  PreferenceLoader pref=new PreferenceLoader();
  StringBuilder sb=new StringBuilder();
  String CRLF=STR.CARRIAGE_RETURN + STR.LINE_FEED;
  if (pref.isTestMethodGenEnabledSupportJMock2) {
    if (pref.isUsingJUnitHelperRuntime) {
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
    }
 else {
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
    }
  }
  if (pref.isTestMethodGenEnabledSupportEasyMock) {
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(CRLF);
  }
  sb.append("String_Node_Str");
  String returnTypeName=testMethod.returnType.name;
  Object returnDefaultValue=null;
  if (!returnTypeName.equals("String_Node_Str")) {
    returnTypeName=returnTypeName.replaceAll(RXP_GENERICS_PART,STR.EMPTY);
    returnTypeName=getClassInSourceCode(returnTypeName,testTargetClassname,testClassinfo.importList);
    List<String> generics=testMethod.returnType.generics;
    int genericsLen=generics.size();
    if (genericsLen > 0) {
      returnTypeName+="String_Node_Str" + generics.get(0);
      for (int i=1; i < genericsLen; i++)       returnTypeName+="String_Node_Str" + generics.get(i);
      returnTypeName+="String_Node_Str";
    }
    if (PrimitiveTypeUtil.isPrimitive(returnTypeName)) {
      returnDefaultValue=PrimitiveTypeUtil.getTypeDefaultValue(returnTypeName);
    }
  }
  if (!testMethod.isStatic) {
    sb.append(testTargetClassname);
    sb.append("String_Node_Str");
    sb.append(testTargetClassname);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  if (!returnTypeName.equals("String_Node_Str")) {
    sb.append(returnTypeName);
    sb.append("String_Node_Str");
    sb.append(returnDefaultValue);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  List<ArgType> argTypes=testMethod.argTypes;
  List<String> args=new ArrayList<String>();
  int argTypesLen=argTypes.size();
  if (argTypesLen > 0 && argTypes.get(0).name != null && !argTypes.get(0).name.equals(STR.EMPTY)) {
    for (int i=0; i < argTypesLen; i++) {
      ArgType argType=argTypes.get(i);
      if (argType.name.matches("String_Node_Str"))       argType.name=argType.name.replaceAll("String_Node_Str","String_Node_Str");
      String argTypeName=getClassInSourceCode(argType.name,testTargetClassname,testClassinfo.importList);
      boolean isJMock2=pref.isTestMethodGenEnabledSupportJMock2 && MockGenUtil.isMockableClassName(argTypeName,testClassinfo.importList);
      boolean isEasyMock=pref.isTestMethodGenEnabledSupportEasyMock && MockGenUtil.isMockableClassName(argTypeName,testClassinfo.importList);
      if (isJMock2) {
        sb.append("String_Node_Str");
      }
      sb.append(argTypeName);
      if (argType.generics.size() > 0) {
        sb.append("String_Node_Str");
        sb.append(argType.generics.get(0));
        if (argType.generics.size() > 1) {
          for (int j=1; j < argType.generics.size(); j++) {
            sb.append("String_Node_Str");
            sb.append(argType.generics.get(j));
          }
        }
        sb.append("String_Node_Str");
      }
      sb.append("String_Node_Str");
      sb.append(i);
      sb.append("String_Node_Str");
      if (PrimitiveTypeUtil.isPrimitive(argType.name)) {
        String primitiveDefault=PrimitiveTypeUtil.getTypeDefaultValue(argType.name);
        sb.append(primitiveDefault);
      }
 else {
        if (isJMock2) {
          sb.append(pref.isUsingJUnitHelperRuntime ? "String_Node_Str" : "String_Node_Str");
          sb.append("String_Node_Str");
          sb.append(argTypeName);
          sb.append("String_Node_Str");
        }
 else         if (isEasyMock) {
          sb.append("String_Node_Str");
          sb.append(argTypeName);
          sb.append("String_Node_Str");
        }
 else {
          sb.append("String_Node_Str");
        }
      }
      sb.append("String_Node_Str");
      sb.append(CRLF);
      sb.append("String_Node_Str");
      args.add("String_Node_Str" + i);
    }
  }
  if (pref.isTestMethodGenEnabledSupportJMock2) {
    sb.append(pref.isUsingJUnitHelperRuntime ? "String_Node_Str" : "String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  if (pref.isTestMethodGenEnabledSupportEasyMock) {
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  if (!returnTypeName.equals("String_Node_Str")) {
    sb.append(returnTypeName);
    sb.append("String_Node_Str");
  }
  if (testMethod.isStatic) {
    sb.append(testTargetClassname);
  }
 else {
    sb.append("String_Node_Str");
  }
  sb.append("String_Node_Str");
  sb.append(testMethod.methodName);
  sb.append("String_Node_Str");
  if (args.size() > 0 && argTypesLen > 0 && argTypes.get(0).name != null && !argTypes.get(0).name.equals(STR.EMPTY))   sb.append(args.get(0));
  for (int i=1; i < argTypes.size(); i++) {
    sb.append("String_Node_Str");
    sb.append(args.get(i));
  }
  sb.append("String_Node_Str");
  sb.append(CRLF);
  if (pref.isTestMethodGenEnabledSupportEasyMock) {
    sb.append("String_Node_Str");
    sb.append(CRLF);
  }
  if (!returnTypeName.equals("String_Node_Str")) {
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(CRLF);
  }
  return sb.toString();
}

Fixed version (ground truth):
/** 
 * Get sample implementation source code of the test methods.
 * @param testMethod
 * @param testMethods
 * @param testTargetClassname
 * @return sample implementation source code
 */
public static String getNotBlankTestMethodSource(MethodInfo testMethod,ClassInfo testClassinfo,String testTargetClassname){
  PreferenceLoader pref=new PreferenceLoader();
  StringBuilder sb=new StringBuilder();
  String CRLF=STR.CARRIAGE_RETURN + STR.LINE_FEED;
  if (pref.isTestMethodGenEnabledSupportJMock2) {
    if (pref.isUsingJUnitHelperRuntime) {
      if (pref.isJUnitVersion4) {
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(CRLF);
      }
    }
 else {
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(CRLF);
    }
  }
  if (pref.isTestMethodGenEnabledSupportEasyMock) {
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(CRLF);
  }
  sb.append("String_Node_Str");
  String returnTypeName=testMethod.returnType.name;
  Object returnDefaultValue=null;
  if (!returnTypeName.equals("String_Node_Str")) {
    returnTypeName=returnTypeName.replaceAll(RXP_GENERICS_PART,STR.EMPTY);
    returnTypeName=getClassInSourceCode(returnTypeName,testTargetClassname,testClassinfo.importList);
    List<String> generics=testMethod.returnType.generics;
    int genericsLen=generics.size();
    if (genericsLen > 0) {
      returnTypeName+="String_Node_Str" + generics.get(0);
      for (int i=1; i < genericsLen; i++)       returnTypeName+="String_Node_Str" + generics.get(i);
      returnTypeName+="String_Node_Str";
    }
    if (PrimitiveTypeUtil.isPrimitive(returnTypeName)) {
      returnDefaultValue=PrimitiveTypeUtil.getTypeDefaultValue(returnTypeName);
    }
  }
  if (!testMethod.isStatic) {
    sb.append(testTargetClassname);
    sb.append("String_Node_Str");
    sb.append(testTargetClassname);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  if (!returnTypeName.equals("String_Node_Str")) {
    sb.append(returnTypeName);
    sb.append("String_Node_Str");
    sb.append(returnDefaultValue);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  List<ArgType> argTypes=testMethod.argTypes;
  List<String> args=new ArrayList<String>();
  int argTypesLen=argTypes.size();
  if (argTypesLen > 0 && argTypes.get(0).name != null && !argTypes.get(0).name.equals(STR.EMPTY)) {
    for (int i=0; i < argTypesLen; i++) {
      ArgType argType=argTypes.get(i);
      if (argType.name.matches("String_Node_Str"))       argType.name=argType.name.replaceAll("String_Node_Str","String_Node_Str");
      String argTypeName=getClassInSourceCode(argType.name,testTargetClassname,testClassinfo.importList);
      boolean isJMock2=pref.isTestMethodGenEnabledSupportJMock2 && MockGenUtil.isMockableClassName(argTypeName,testClassinfo.importList);
      boolean isEasyMock=pref.isTestMethodGenEnabledSupportEasyMock && MockGenUtil.isMockableClassName(argTypeName,testClassinfo.importList);
      if (isJMock2) {
        sb.append("String_Node_Str");
      }
      sb.append(argTypeName);
      if (argType.generics.size() > 0) {
        sb.append("String_Node_Str");
        sb.append(argType.generics.get(0));
        if (argType.generics.size() > 1) {
          for (int j=1; j < argType.generics.size(); j++) {
            sb.append("String_Node_Str");
            sb.append(argType.generics.get(j));
          }
        }
        sb.append("String_Node_Str");
      }
      sb.append("String_Node_Str");
      sb.append(i);
      sb.append("String_Node_Str");
      if (PrimitiveTypeUtil.isPrimitive(argType.name)) {
        String primitiveDefault=PrimitiveTypeUtil.getTypeDefaultValue(argType.name);
        sb.append(primitiveDefault);
      }
 else {
        if (isJMock2) {
          sb.append(pref.isUsingJUnitHelperRuntime ? "String_Node_Str" : "String_Node_Str");
          sb.append("String_Node_Str");
          sb.append(argTypeName);
          sb.append("String_Node_Str");
        }
 else         if (isEasyMock) {
          sb.append("String_Node_Str");
          sb.append(argTypeName);
          sb.append("String_Node_Str");
        }
 else {
          sb.append("String_Node_Str");
        }
      }
      sb.append("String_Node_Str");
      sb.append(CRLF);
      sb.append("String_Node_Str");
      args.add("String_Node_Str" + i);
    }
  }
  if (pref.isTestMethodGenEnabledSupportJMock2) {
    sb.append(pref.isUsingJUnitHelperRuntime ? "String_Node_Str" : "String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  if (pref.isTestMethodGenEnabledSupportEasyMock) {
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
    sb.append(CRLF);
    sb.append("String_Node_Str");
  }
  if (!returnTypeName.equals("String_Node_Str")) {
    sb.append(returnTypeName);
    sb.append("String_Node_Str");
  }
  if (testMethod.isStatic) {
    sb.append(testTargetClassname);
  }
 else {
    sb.append("String_Node_Str");
  }
  sb.append("String_Node_Str");
  sb.append(testMethod.methodName);
  sb.append("String_Node_Str");
  if (args.size() > 0 && argTypesLen > 0 && argTypes.get(0).name != null && !argTypes.get(0).name.equals(STR.EMPTY))   sb.append(args.get(0));
  for (int i=1; i < argTypes.size(); i++) {
    sb.append("String_Node_Str");
    sb.append(args.get(i));
  }
  sb.append("String_Node_Str");
  sb.append(CRLF);
  if (pref.isTestMethodGenEnabledSupportEasyMock) {
    sb.append("String_Node_Str");
    sb.append(CRLF);
  }
  if (!returnTypeName.equals("String_Node_Str")) {
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(CRLF);
  }
  return sb.toString();
}