### Question:
JavaCode extends Code { public String methodReturns(String method) { return getMethodPart(method, 2); } JavaCode(); String typeName(); boolean isClass(); Collection<String> typeAnnotations(); Collection<String> imports(); Collection<String> methods(); Collection<String> methodAnnotations(String method); String methodReturns(String method); String methodArguments(String method); String packageName(); String fullyQualifiedName(); String methodBody(String method); Collection<String> fieldNames(); String fieldType(String fieldName); Iterable<String> fieldAnnotations(String fieldName); String fieldValue(String fieldName); Iterable<String> fileComments(); String superTypeName(); Iterable<String> implementedInterfaces(); boolean isType(String type); boolean fieldIsContant(String fieldName); Iterable<String> fieldComments(String fieldName); String constructorBody(); void ensureImport(String packageName, String typeName); String simpleTypeName(); static final String TYPE_PATTERN; static final String NAME_PATTERN; }### Answer:
@Test public void extractsMethodReturnType() { String method = "m" + someValue(); String returns = someValue(); code.add("public class C {"); code.add(" public %s %s(int foo) {", returns, method); code.add(" }"); code.add("}"); assertEquals("Returns", returns, code.methodReturns(method)); assertEquals("Returns of non-existing method", "", code.methodReturns(someValue())); }