KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tirsen > nanning > contract > ContractInterceptorTest


1 package com.tirsen.nanning.contract;
2
3 import com.tirsen.nanning.AspectInstance;
4 import com.tirsen.nanning.MixinInstance;
5 import com.tirsen.nanning.attribute.AbstractAttributesTest;
6
7 import java.net.MalformedURLException JavaDoc;
8
9 /**
10  * TODO document ContractInterceptorTest
11  *
12  * @author <a HREF="mailto:jon_tirsen@yahoo.com">Jon Tirs?n</a>
13  * @version $Revision: 1.5 $
14  */

15 public class ContractInterceptorTest extends AbstractAttributesTest {
16     public void test() throws MalformedURLException JavaDoc {
17         AspectInstance instance = new AspectInstance();
18         instance.addMixin(new MixinInstance(ContractIntf.class, new ContractImpl()));
19         instance.addInterceptor(new ContractInterceptor());
20
21         ContractIntf contract = (ContractIntf) instance.getProxy();
22
23         try {
24             contract.increaseBy(-1);
25             fail("call allowed with pre-condition violation");
26         } catch (AssertionError JavaDoc shouldHappen) {
27         }
28
29         contract.increaseBy(1);
30
31         try {
32             contract.setValue(-1);
33             fail("call did not fail with class-invariant violation");
34         } catch (AssertionError JavaDoc shouldHappen) {
35         }
36     }
37 }
38
Popular Tags