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.

ConstructorInvocationClosureTest.java 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package org.aspectj.aopalliance.tests;
  2. import java.lang.reflect.Constructor;
  3. import org.aspectj.aopalliance.ConstructorInvocationClosure;
  4. import junit.framework.TestCase;
  5. public class ConstructorInvocationClosureTest extends TestCase {
  6. public void testGetArguments() {
  7. MockMethodSignature sig = new MockMethodSignature("toString",Object.class,
  8. new Class[] {});
  9. Object[] args = new Object[] {this};
  10. MockJoinPoint jp = new MockJoinPoint(this,sig,args);
  11. ConstructorInvocationClosure cic = new ConstructorInvocationClosure(jp) {
  12. public Object execute() {return null;}
  13. };
  14. assertEquals(args,cic.getArguments());
  15. }
  16. public void testGetConstructor() {
  17. MockConstructorSignature sig = new MockConstructorSignature("new",StringBuffer.class,
  18. new Class[] {String.class});
  19. MockJoinPoint jp = new MockJoinPoint(this,sig,null);
  20. ConstructorInvocationClosure cic = new ConstructorInvocationClosure(jp) {
  21. public Object execute() {return null;}
  22. };
  23. Constructor c = cic.getConstructor();
  24. try {
  25. assertEquals("Should find StringBuffer constructor",StringBuffer.class.getConstructor(new Class[]{String.class}),
  26. c);
  27. } catch (NoSuchMethodException e) {
  28. fail("Duff test:" + e);
  29. }
  30. }
  31. }