### Question:
TraceSignatureVisitor extends SignatureVisitor { @Override public void visitBaseType(final char descriptor) { String baseType = BASE_TYPES.get(descriptor); if (baseType == null) { throw new IllegalArgumentException(); } declaration.append(baseType); endType(); } TraceSignatureVisitor(final int accessFlags); private  TraceSignatureVisitor(final StringBuilder stringBuilder); @Override void visitFormalTypeParameter(final String name); @Override SignatureVisitor visitClassBound(); @Override SignatureVisitor visitInterfaceBound(); @Override SignatureVisitor visitSuperclass(); @Override SignatureVisitor visitInterface(); @Override SignatureVisitor visitParameterType(); @Override SignatureVisitor visitReturnType(); @Override SignatureVisitor visitExceptionType(); @Override void visitBaseType(final char descriptor); @Override void visitTypeVariable(final String name); @Override SignatureVisitor visitArrayType(); @Override void visitClassType(final String name); @Override void visitInnerClassType(final String name); @Override void visitTypeArgument(); @Override SignatureVisitor visitTypeArgument(final char tag); @Override void visitEnd(); String getDeclaration(); String getReturnType(); String getExceptions();  }### Answer:
@Test public void testVisitBaseType_invalidSignature() { TraceSignatureVisitor traceSignatureVisitor = new TraceSignatureVisitor(0); Executable visitBaseType = () -> traceSignatureVisitor.visitBaseType('-'); assertThrows(IllegalArgumentException.class, visitBaseType); }