1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.proxy.interceptor;
19
20 import junit.framework.TestCase;
21 import org.apache.commons.proxy.Interceptor;
22 import org.apache.commons.proxy.factory.cglib.CglibProxyFactory;
23 import org.apache.commons.proxy.util.Echo;
24 import org.apache.commons.proxy.util.EchoImpl;
25 import org.apache.commons.proxy.util.SuffixInterceptor;
26
27
28
29
30
31 public class TestInterceptorChain extends TestCase
32 {
33 public void testWithSingleInterceptor()
34 {
35 Echo echo = ( Echo ) new InterceptorChain( new Interceptor[] { new SuffixInterceptor( "a" ) } ).createProxyProvider( new CglibProxyFactory(), new EchoImpl(), new Class[] { Echo.class } ).getObject();
36 assertEquals( "messagea", echo.echoBack( "message" ) );
37 }
38
39 public void testWithMultipleInterceptors()
40 {
41 Echo echo = ( Echo ) new InterceptorChain( new Interceptor[] { new SuffixInterceptor( "a" ), new SuffixInterceptor( "b" ) } ).createProxyProvider( new CglibProxyFactory(), new EchoImpl(), new Class[] { Echo.class } ).getObject();
42 assertEquals( "messageba", echo.echoBack( "message" ) );
43 }
44 }
45