KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > aop > scopedextender > TestUtil


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.test.aop.scopedextender;
23
24 import java.util.ArrayList JavaDoc;
25 import java.util.Arrays JavaDoc;
26 import java.util.List JavaDoc;
27
28 import org.jboss.aop.advice.Interceptor;
29
30 /**
31  *
32  * @author <a HREF="kabir.khan@jboss.com">Kabir Khan</a>
33  * @version $Revision: 1.1 $
34  */

35 public class TestUtil
36 {
37    StringBuffer JavaDoc errors;
38    
39    public void invoked(Class JavaDoc interceptor)
40    {
41       boolean intercepted = false;
42       if (interceptor == BasePerClassInterceptor.class)
43       {
44          intercepted = BasePerClassInterceptor.invoked;
45       }
46       else if (interceptor == BasePerInstanceInterceptor.class)
47       {
48          intercepted = BasePerInstanceInterceptor.invoked;
49       }
50       else if (interceptor == BasePerJoinPointInterceptor.class)
51       {
52          intercepted = BasePerJoinPointInterceptor.invoked;
53       }
54       else if (interceptor == BasePerClassJoinPointInterceptor.class)
55       {
56          intercepted = BasePerClassJoinPointInterceptor.invoked;
57       }
58       
59       if (!intercepted)
60       {
61          throw new RuntimeException JavaDoc(interceptor.getClass().getName() + " did not intercept");
62       }
63    }
64    public void compare(int expected, int actual)
65    {
66       if (expected != actual) throw new RuntimeException JavaDoc("Expected " + expected + " but was " + actual);
67    }
68    
69    public void compare(String JavaDoc method, String JavaDoc aspect, String JavaDoc[] expect, ArrayList JavaDoc actual)
70    {
71       List JavaDoc expected = Arrays.asList(expect);
72       if (expected.size() != actual.size())
73       {
74          addError("Wrong number interceptions on " + aspect + " for " + method + " Expected=" + expected + "(size=" + expected.size() + ")" + " actual=" + actual + "(size=" + actual.size() + ")" );
75          return;
76       }
77       
78       for (int i = 0 ; i < expected.size() ; i++)
79       {
80          if (!expected.get(i).equals(actual.get(i)))
81          {
82             addError("Wrong interceptions on " + aspect + " for " + method + " Expected=" + expected + "(size=" + expected.size() + ")" + " actual=" + actual + "(size=" + actual.size() + ")" );
83             return;
84          }
85       }
86    }
87    
88    private void addError(String JavaDoc s)
89    {
90       if (errors == null)
91       {
92          errors = new StringBuffer JavaDoc();
93       }
94       errors.append(s + "\n");
95    }
96    
97    public String JavaDoc getErrors()
98    {
99       if (errors == null)
100       {
101          return null;
102       }
103       return errors.toString();
104    }
105 }
106
Popular Tags