You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

InvocationJoinPointClosureTest.java 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. * Created on 07-May-2004
  3. *
  4. * TODO To change the template for this generated file go to
  5. * Window - Preferences - Java - Code Generation - Code and Comments
  6. */
  7. package org.aspectj.aopalliance.tests;
  8. import java.lang.reflect.AccessibleObject;
  9. import junit.framework.TestCase;
  10. import org.aspectj.aopalliance.InvocationJoinPointClosure;
  11. public class InvocationJoinPointClosureTest extends TestCase {
  12. public void testGetStaticPartMethod() {
  13. MockMethodSignature sig = new MockMethodSignature("toString",Object.class,
  14. new Class[] {});
  15. MockJoinPoint jp = new MockJoinPoint(this,sig,null);
  16. InvocationJoinPointClosure mejpc = new InvocationJoinPointClosure(jp) {
  17. public Object execute() {return null;}
  18. };
  19. AccessibleObject ao = mejpc.getStaticPart();
  20. try {
  21. assertEquals("Should find toString method",Object.class.getMethod("toString",new Class[]{}),
  22. ao);
  23. } catch (NoSuchMethodException e) {
  24. fail("Duff test:" + e);
  25. }
  26. }
  27. public void testGetStaticPartConstructor() {
  28. MockConstructorSignature sig = new MockConstructorSignature("new",StringBuffer.class,
  29. new Class[] {String.class});
  30. MockJoinPoint jp = new MockJoinPoint(this,sig,null);
  31. InvocationJoinPointClosure mejpc = new InvocationJoinPointClosure(jp) {
  32. public Object execute() {return null;}
  33. };
  34. AccessibleObject ao = mejpc.getStaticPart();
  35. try {
  36. assertEquals("Should find StringBuffer constructor",StringBuffer.class.getConstructor(new Class[]{String.class}),
  37. ao);
  38. } catch (NoSuchMethodException e) {
  39. fail("Duff test:" + e);
  40. }
  41. }
  42. public void testGetStaticPartException() {
  43. try {
  44. MockMethodSignature sig = new MockMethodSignature("toKettle",Object.class,
  45. new Class[] {});
  46. MockJoinPoint jp = new MockJoinPoint(this,sig,null);
  47. InvocationJoinPointClosure mejpc = new InvocationJoinPointClosure(jp) {
  48. public Object execute() {return null;}
  49. };
  50. AccessibleObject ao = mejpc.getStaticPart();
  51. fail("UnsupportedOperationException expected");
  52. } catch (UnsupportedOperationException unEx) {
  53. assertEquals("Can't find member long string",unEx.getMessage());
  54. }
  55. }
  56. public void testGetArguments() {
  57. MockMethodSignature sig = new MockMethodSignature("toString",Object.class,
  58. new Class[] {});
  59. Object[] args = new Object[] {this};
  60. MockJoinPoint jp = new MockJoinPoint(this,sig,args);
  61. InvocationJoinPointClosure mic = new InvocationJoinPointClosure(jp) {
  62. public Object execute() {return null;}
  63. };
  64. assertEquals(args,mic.getArguments());
  65. }
  66. }