From 2b7bc1ea584bd2b7fb888fa9ad6117da7415f0f5 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 12 Dec 2008 01:02:05 +0000 Subject: [PATCH] moving unit tests from .testsuite -> .aop --- .../java/example/aspects/PerTargetAspect.java | 35 ++++++++++ .../aspects}/PerThisAspect.java | 2 +- .../java/example/aspects/TwoAdviceAspect.java | 24 +++++++ .../AbstractAspectJAdvisorFactoryTests.java | 68 +------------------ .../AspectJPointcutAdvisorTests.java | 4 +- .../annotation/AspectMetadataTests.java | 4 +- .../annotation/AspectProxyFactoryTests.java | 3 +- .../aop/aspectj/annotation/PerThisAspect.java | 31 +++++++++ 8 files changed, 101 insertions(+), 70 deletions(-) create mode 100644 org.springframework.aop/src/test/java/example/aspects/PerTargetAspect.java rename org.springframework.aop/src/test/java/{org/springframework/aop/aspectj/autoproxy => example/aspects}/PerThisAspect.java (95%) create mode 100644 org.springframework.aop/src/test/java/example/aspects/TwoAdviceAspect.java create mode 100644 org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/PerThisAspect.java diff --git a/org.springframework.aop/src/test/java/example/aspects/PerTargetAspect.java b/org.springframework.aop/src/test/java/example/aspects/PerTargetAspect.java new file mode 100644 index 0000000000..4244c38949 --- /dev/null +++ b/org.springframework.aop/src/test/java/example/aspects/PerTargetAspect.java @@ -0,0 +1,35 @@ +/** + * + */ +package example.aspects; + +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.springframework.core.Ordered; + +@Aspect("pertarget(execution(* *.getSpouse()))") +public class PerTargetAspect implements Ordered { + + public int count; + + private int order = Ordered.LOWEST_PRECEDENCE; + + @Around("execution(int *.getAge())") + public int returnCountAsAge() { + return count++; + } + + @Before("execution(void *.set*(int))") + public void countSetter() { + ++count; + } + + public int getOrder() { + return this.order; + } + + public void setOrder(int order) { + this.order = order; + } +} \ No newline at end of file diff --git a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/autoproxy/PerThisAspect.java b/org.springframework.aop/src/test/java/example/aspects/PerThisAspect.java similarity index 95% rename from org.springframework.aop/src/test/java/org/springframework/aop/aspectj/autoproxy/PerThisAspect.java rename to org.springframework.aop/src/test/java/example/aspects/PerThisAspect.java index 8e1b15e8f9..9f95aaa018 100644 --- a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/autoproxy/PerThisAspect.java +++ b/org.springframework.aop/src/test/java/example/aspects/PerThisAspect.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.aop.aspectj.autoproxy; +package example.aspects; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; diff --git a/org.springframework.aop/src/test/java/example/aspects/TwoAdviceAspect.java b/org.springframework.aop/src/test/java/example/aspects/TwoAdviceAspect.java new file mode 100644 index 0000000000..e69d7d99e5 --- /dev/null +++ b/org.springframework.aop/src/test/java/example/aspects/TwoAdviceAspect.java @@ -0,0 +1,24 @@ +/** + * + */ +package example.aspects; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; + +@Aspect +public class TwoAdviceAspect { + private int totalCalls; + + @Around("execution(* getAge())") + public int returnCallCount(ProceedingJoinPoint pjp) throws Exception { + return totalCalls; + } + + @Before("execution(* setAge(int)) && args(newAge)") + public void countSet(int newAge) throws Exception { + ++totalCalls; + } +} \ No newline at end of file diff --git a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java index e757eb82e9..b753025a4b 100644 --- a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java +++ b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java @@ -49,6 +49,9 @@ import org.springframework.core.OrderComparator; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; +import example.aspects.PerTargetAspect; +import example.aspects.TwoAdviceAspect; + /** * Abstract tests for AspectJAdvisorFactory. * See subclasses for tests of concrete factories. @@ -593,33 +596,6 @@ public abstract class AbstractAspectJAdvisorFactoryTests { } - @Aspect("pertarget(execution(* *.getSpouse()))") - public static class PerTargetAspect implements Ordered { - - public int count; - - private int order = Ordered.LOWEST_PRECEDENCE; - - @Around("execution(int *.getAge())") - public int returnCountAsAge() { - return count++; - } - - @Before("execution(void *.set*(int))") - public void countSetter() { - ++count; - } - - public int getOrder() { - return this.order; - } - - public void setOrder(int order) { - this.order = order; - } - } - - @Aspect("pertarget(execution(* *.getSpouse()))") @Order(10) public static class PerTargetAspectWithOrderAnnotation10 { @@ -656,28 +632,6 @@ public abstract class AbstractAspectJAdvisorFactoryTests { } - @Aspect("perthis(execution(* *.getSpouse()))") - public static class PerThisAspect { - - public int count; - - /** - * Just to check that this doesn't cause problems with introduction processing - */ - private ITestBean fieldThatShouldBeIgnoredBySpringAtAspectJProcessing = new TestBean(); - - @Around("execution(int *.getAge())") - public int returnCountAsAge() { - return count++; - } - - @Before("execution(void *.set*(int))") - public void countSetter() { - ++count; - } - } - - @Aspect("pertypewithin(org.springframework.beans.IOther+)") public static class PerTypeWithinAspect { @@ -833,22 +787,6 @@ public abstract class AbstractAspectJAdvisorFactoryTests { } - @Aspect - public static class TwoAdviceAspect { - private int totalCalls; - - @Around("execution(* getAge())") - public int returnCallCount(ProceedingJoinPoint pjp) throws Exception { - return totalCalls; - } - - @Before("execution(* setAge(int)) && args(newAge)") - public void countSet(int newAge) throws Exception { - ++totalCalls; - } - } - - public static class Echo { public Object echo(Object o) throws Exception { diff --git a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectJPointcutAdvisorTests.java b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectJPointcutAdvisorTests.java index 7348fc128a..d358924697 100644 --- a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectJPointcutAdvisorTests.java +++ b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectJPointcutAdvisorTests.java @@ -25,6 +25,8 @@ import org.springframework.aop.aspectj.AspectJExpressionPointcutTests; import org.springframework.aop.framework.AopConfigException; import org.springframework.beans.TestBean; +import example.aspects.PerTargetAspect; + /** * @author Rod Johnson * @author Chris Beams @@ -51,7 +53,7 @@ public class AspectJPointcutAdvisorTests { ajexp.setExpression(AspectJExpressionPointcutTests.MATCH_ALL_METHODS); InstantiationModelAwarePointcutAdvisorImpl ajpa = new InstantiationModelAwarePointcutAdvisorImpl(af, ajexp, - new SingletonMetadataAwareAspectInstanceFactory(new AbstractAspectJAdvisorFactoryTests.PerTargetAspect(),"someBean"), null, 1, "someBean"); + new SingletonMetadataAwareAspectInstanceFactory(new PerTargetAspect(),"someBean"), null, 1, "someBean"); assertNotSame(Pointcut.TRUE, ajpa.getAspectMetadata().getPerClausePointcut()); assertTrue(ajpa.getAspectMetadata().getPerClausePointcut() instanceof AspectJExpressionPointcut); assertTrue(ajpa.isPerInstance()); diff --git a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectMetadataTests.java b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectMetadataTests.java index c435cbbcd0..fefc588b61 100644 --- a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectMetadataTests.java +++ b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectMetadataTests.java @@ -22,8 +22,8 @@ import org.junit.Test; import org.springframework.aop.Pointcut; import org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactoryTests.ExceptionAspect; -import org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactoryTests.PerTargetAspect; -import org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactoryTests.PerThisAspect; + +import example.aspects.PerTargetAspect; /** * @since 2.0 diff --git a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectProxyFactoryTests.java b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectProxyFactoryTests.java index 6dc80c1e38..81fe638134 100644 --- a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectProxyFactoryTests.java +++ b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectProxyFactoryTests.java @@ -20,7 +20,8 @@ import static org.junit.Assert.*; import org.junit.Test; import org.springframework.aop.aspectj.autoproxy.MultiplyReturnValue; -import org.springframework.aop.aspectj.autoproxy.PerThisAspect; + +import example.aspects.PerThisAspect; /** * @author Rob Harrop diff --git a/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/PerThisAspect.java b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/PerThisAspect.java new file mode 100644 index 0000000000..024035f00d --- /dev/null +++ b/org.springframework.aop/src/test/java/org/springframework/aop/aspectj/annotation/PerThisAspect.java @@ -0,0 +1,31 @@ +/** + * + */ +package org.springframework.aop.aspectj.annotation; + +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.springframework.beans.ITestBean; +import org.springframework.beans.TestBean; + +@Aspect("perthis(execution(* *.getSpouse()))") +public class PerThisAspect { + + public int count; + + /** + * Just to check that this doesn't cause problems with introduction processing + */ + private ITestBean fieldThatShouldBeIgnoredBySpringAtAspectJProcessing = new TestBean(); + + @Around("execution(int *.getAge())") + public int returnCountAsAge() { + return count++; + } + + @Before("execution(void *.set*(int))") + public void countSetter() { + ++count; + } +} \ No newline at end of file