### Question:
JavaInterfaceBuilderImpl extends BaseBuilder implements JavaInterfaceBuilder { @Override public void addMethod( String name, String description, List<MethodParam> methodParams, String returnType) { MethodDeclaration methodDeclaration = declaration.addMethod(name); methodDeclaration.setBody(null); if (StringUtils.isNotEmpty(description)) { methodDeclaration.setJavadocComment( JavadocUtils.createJavadocComment(description, INDENTATION_TAB)); } if (StringUtils.isNotEmpty(returnType)) { methodDeclaration.setType(returnType); } if (CollectionUtils.isNotEmpty(methodParams)) { for (MethodParam methodParam : methodParams) { Parameter parameter = methodDeclaration.addAndGetParameter(methodParam.getType(), methodParam.getName()); if (CollectionUtils.isNotEmpty(methodParam.getAnnotations())) { for (MethodParam.Annotation annotation : methodParam.getAnnotations()) { Optional<AnnotationExpr> currentAnnotation = parameter.getAnnotationByName(annotation.getName()); if (!currentAnnotation.isPresent()) { if (StringUtils.isNotEmpty(annotation.getValue())) { parameter.addSingleMemberAnnotation( annotation.getName(), new StringLiteralExpr(annotation.getValue())); } else { parameter.addMarkerAnnotation(annotation.getName()); } if (!DEPRECATED_ANNOTATION.equals(annotation.getName())) { addImport(annotationsPackage, annotation.getName()); } } } } } } } JavaInterfaceBuilderImpl(String packageName, String name, String annotationsPackage); static void main(String[] args); @Override void setJavaDoc(String comment); @Override void addAnnotation(String annotationName); @Override void addMethodAnnotation(String methodName, String annotationName); @Override void addParametrizedMethodAnnotation(
      String methodName, String annotationName, String parameter); @Override String getName(); @Override void addImport(String packageName, String object); @Override void addMethod(
      String name, String description, List<MethodParam> methodParams, String returnType);  }### Answer:
@Test public void testBasicInterfaceWithSimpleMethod() throws IOException { Capture<CompilationUnit> compilationUnitCapture = Capture.newInstance(); sourceProject.addCompilationUnit( eq(BASE_PACKAGE_NAME), eq(NAME), capture(compilationUnitCapture)); String description = "Method description\r\n\r\n@param test Test param\r\n@return Returns nothing"; interfaceBuilder.addMethod("someMethod1", description, Collections.emptyList(), null); replayAll(); interfaceBuilder.build(sourceProject); assertEquals( "package com.github.kklisura;\n" + "\n" + "public interface InterfaceTest {\n" + "\n" + " \n" + " void someMethod1();" + "\n" + "}\n" + "", compilationUnitCapture.getValue().toString()); verifyAll(); }