### Question:
ByteCodeUtils { public static String desc( MethodDeclaration declaration ) { return internalDesc( declaration.erased(), false ); } private  ByteCodeUtils(); static String byteCodeName( TypeReference reference ); static String outerName( TypeReference reference ); static String typeName( TypeReference reference ); static String desc( MethodDeclaration declaration ); static String desc( MethodReference reference ); static String signature( TypeReference reference ); static String signature( MethodDeclaration declaration ); static String[] exceptions( MethodDeclaration declaration );  }### Answer:
@Test public void shouldDescribeMethodWithNoParameters() { TypeReference owner = typeReference( ByteCodeUtilsTest.class ); MethodDeclaration declaration = method( boolean.class, "foo" ).build( owner ); String description = desc( declaration ); assertThat( description, equalTo( "()Z" ) ); }
@Test public void shouldDescribeMethodWithParameters() { TypeReference owner = typeReference( ByteCodeUtilsTest.class ); MethodDeclaration declaration = method( List.class, "foo", param( String.class, "string" ), param( char[].class, "chararray" ) ) .build( owner ); String description = desc( declaration ); assertThat( description, equalTo( "(Ljava/lang/String;[C)Ljava/util/List;" ) ); }