From 517d030a531bd6397c5f76ae3e190fe52175360d Mon Sep 17 00:00:00 2001 From: acolyer Date: Thu, 27 Mar 2003 17:01:11 +0000 Subject: Test cases for declare parent scenarios --- tests/new/declareParents/Driver.java | 33 +++++++++++++++++++++++++++ tests/new/declareParents/IllegalAdoption.java | 16 +++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 tests/new/declareParents/Driver.java create mode 100644 tests/new/declareParents/IllegalAdoption.java (limited to 'tests') diff --git a/tests/new/declareParents/Driver.java b/tests/new/declareParents/Driver.java new file mode 100644 index 000000000..ec70d26a1 --- /dev/null +++ b/tests/new/declareParents/Driver.java @@ -0,0 +1,33 @@ +import org.aspectj.testing.Tester; + +public class Driver { + public static void main(String[] args) { test(); } + + public static void test() { + + C c = new C(); + D d = new D(); + E e = new E(); + + Tester.check( c instanceof A, "C should extend A"); + Tester.check( c instanceof B, "Declare parents threw away superclass info: C should extend B"); + + Tester.check( d instanceof A, "D should extend A"); + Tester.check( e instanceof A, "E should extend A"); + + } + + + static class A {}; + static class B extends A {}; + static class C extends B {}; + + static class D {}; + static class E extends D {}; + + static aspect Adoption { + declare parents : C extends A; + declare parents : D extends A; + }; +} + diff --git a/tests/new/declareParents/IllegalAdoption.java b/tests/new/declareParents/IllegalAdoption.java new file mode 100644 index 000000000..3df00a8e1 --- /dev/null +++ b/tests/new/declareParents/IllegalAdoption.java @@ -0,0 +1,16 @@ +import org.aspectj.testing.Tester; + +public class IllegalAdoption { + + static class A {}; + static class B extends A {}; + static class C extends B {}; + + static class D {}; + static class E extends D {}; + + static aspect Adoption { + declare parents : E extends C; // should cause a compilation error + } +} + -- cgit v1.2.3