assertTrue(exceptionThrown);
assertFullInterception(MethodCallByMethod.class, "before8", "throwing8",
"finally7", exceptionThrown);
MethodCallByMethod joinPoint = (MethodCallByMethod)
JoinPointAspect.beforeJoinPoint;
assertSame("calledMethod", joinPoint.getMethod().getName());
Class[] parameters = joinPoint.getMethod().getParameterTypes();
assertEquals(1, parameters.length);
assertSame(boolean.class, parameters[0]);
assertSame(JoinPointPOJO.class, joinPoint.getMethod().getDeclaringClass());
assertSame(JoinPointPOJO.class, joinPoint.getCalledClass());
assertSame(JoinPointPOJO.class, joinPoint.getCallingClass());
assertSame(JoinPointPOJO.class, joinPoint.getCallingMethod().getDeclaringClass());
assertSame("staticCallMethod", joinPoint.getCallingMethod().getName());
Class[] callerParameters = joinPoint.getCallingMethod().getParameterTypes();
assertEquals(2, callerParameters.length);
assertSame(JoinPointPOJO.class, callerParameters[0]);
assertSame(boolean.class, callerParameters[1]);
assertEquals(MethodHashing.methodHash(joinPoint.getMethod()),
joinPoint.getCalledMethodHash());
assertEquals(MethodHashing.methodHash(joinPoint.getCallingMethod()),
joinPoint.getCallingMethodHash());
}