KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > mixindeployment > IntroductionDeploymentTest


1 /**************************************************************************************
2  * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3  * http://aspectwerkz.codehaus.org *
4  * ---------------------------------------------------------------------------------- *
5  * The software in this package is published under the terms of the LGPL license *
6  * a copy of which has been included with this distribution in the license.txt file. *
7  **************************************************************************************/

8 package test.mixindeployment;
9
10 import junit.framework.TestCase;
11
12 /**
13  * @author <a HREF="mailto:alex@gnilux.com">Alexandre Vasseur </a>
14  */

15 public class IntroductionDeploymentTest extends TestCase {
16     public IntroductionDeploymentTest(String JavaDoc s) {
17         super(s);
18     }
19
20     public void testPerInstanceMixin() {
21         TargetA a1 = new TargetA();
22         TargetA a2 = new TargetA();
23         TargetB b = new TargetB();
24         Marker m1 = (Marker) a1;
25         Object JavaDoc o1 = m1.getTargetInstance();
26         assertEquals(a1, ((Marker) a1).getTargetInstance());
27         assertNotSame(((Marker) a1).getTargetInstance(), ((Marker) a2).getTargetInstance());
28         assertEquals(((Marker) a1).getTargetClass(), ((Marker) a2).getTargetClass());
29         assertEquals(b, ((Marker) b).getTargetInstance());
30         assertEquals(b.getClass(), ((Marker) b).getTargetClass());
31     }
32
33     public void testPerClassMixin() {
34         TargetC c1 = new TargetC();
35         TargetC c2 = new TargetC();
36         assertNull(((Marker) c1).getTargetInstance());
37         assertEquals(((Marker) c1).getTargetClass(), ((Marker) c2).getTargetClass());
38     }
39
40     public void testHashcodeMixin() {
41         TargetD d = new TargetD();
42         d.doD();
43         assertEquals(2, d.hashCode());
44     }
45
46     public static void main(String JavaDoc[] args) {
47         junit.textui.TestRunner.run(suite());
48     }
49
50     public static junit.framework.Test suite() {
51         return new junit.framework.TestSuite(IntroductionDeploymentTest.class);
52     }
53
54     public class TargetA {
55     }
56
57     public class TargetB {
58     }
59
60     public class TargetC {
61     }
62
63     public class TargetD {
64         public void doD() {
65         }
66     }
67 }
Popular Tags