aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authoraclement <aclement>2004-12-10 13:33:59 +0000
committeraclement <aclement>2004-12-10 13:33:59 +0000
commit09bd5866f9f2bf1e4c9a9e8e5bfc3f2a7497ecfc (patch)
tree669748d9effbeb98ad95666a07c13db43d4253f2 /tests/src
parent7a04b2f94b4994abed36f217b257b047b632f2b7 (diff)
downloadaspectj-09bd5866f9f2bf1e4c9a9e8e5bfc3f2a7497ecfc.tar.gz
aspectj-09bd5866f9f2bf1e4c9a9e8e5bfc3f2a7497ecfc.zip
Autoboxing tests - not checked in as need 1.5 JVM to run.
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/Autoboxing.java155
1 files changed, 155 insertions, 0 deletions
diff --git a/tests/src/org/aspectj/systemtest/ajc150/Autoboxing.java b/tests/src/org/aspectj/systemtest/ajc150/Autoboxing.java
new file mode 100644
index 000000000..9d5f57160
--- /dev/null
+++ b/tests/src/org/aspectj/systemtest/ajc150/Autoboxing.java
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * Andy Clement - initial implementation
+ *******************************************************************************/
+package org.aspectj.systemtest.ajc150;
+
+import java.io.File;
+
+import org.aspectj.tools.ajc.CompilationResult;
+
+/**
+This test must be run under a Java5 VM - so it is *not* currently
+in the test suite !!!
+*/
+public class Autoboxing extends TestUtils {
+
+ private boolean runningUnderJava5 = false;
+
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ baseDir = new File("../tests/java5/autoboxing");
+ }
+
+
+ public void testSimpleBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","SimpleAutoboxingAspect.aj",0,0,"-1.5");
+ assertTrue("Expected two weaving messages (both on line 7) but got:"+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==2);
+ RunResult rR = run("SimpleAutoboxing");
+ verify(rR.getStdErr(),"Matching by Integer:20000");
+ verify(rR.getStdErr(),"Matching by int:20000");
+ verify(rR.getStdErr(),"method_takes_Integer=20000");
+ }
+
+ public void testIntegerBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectInteger.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingI");
+ verify(rR.getStdErr(),"Matching by Integer:10000");
+ verify(rR.getStdErr(),"Matching by int:10000");
+ verify(rR.getStdErr(),"method_takes_Integer=10000");
+ verify(rR.getStdErr(),"Matching by Integer:20000");
+ verify(rR.getStdErr(),"Matching by int:20000");
+ verify(rR.getStdErr(),"method_takes_Integer=20000");
+ verify(rR.getStdErr(),"Matching by Integer:30000");
+ verify(rR.getStdErr(),"Matching by int:30000");
+ verify(rR.getStdErr(),"method_takes_int=30000");
+ verify(rR.getStdErr(),"Matching by Integer:40000");
+ verify(rR.getStdErr(),"Matching by int:40000");
+ verify(rR.getStdErr(),"method_takes_int=40000");
+ }
+
+ public void testCharacterBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectChar.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingC");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testDoubleBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectDouble.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingD");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testFloatBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectFloat.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingF");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testShortBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectShort.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingS");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testLongBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectLong.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingJ");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testBooleanBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectBoolean.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingZ");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testByteBoxing() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectByte.aj",0,0,"-1.5");
+ System.err.println(cR.getStandardError());
+ assertTrue("Expected eight weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==8);
+ RunResult rR = run("AutoboxingB");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 12 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==12);
+ }
+
+ public void testBoxingAfterReturning() {
+ CompilationResult cR = binaryWeave("testcode.jar","AspectAfterReturning.aj",0,0,"-1.5");
+ //System.err.println(cR.getStandardError());
+ assertTrue("Expected six weaving messages but got: "+getWeavingMessages(cR.getInfoMessages()).size(),
+ getWeavingMessages(cR.getInfoMessages()).size()==6);
+ RunResult rR = run("AspectAfterReturning");
+ int lines = countLines(rR.getStdErr());
+ assertTrue("Expected 6 lines of output but got: #"+lines+":\n"+rR.getStdErr(),lines==6);
+ }
+
+ public int countLines(String s) {
+ int count = 0;
+ while (s.indexOf("\n")!=-1) {
+ count++;
+ s = s.substring(s.indexOf("\n")+1);
+ }
+ return count;
+ }
+
+ protected void verify(String output,String lookingFor) {
+ assertTrue("Didn't find expected string '"+lookingFor+"' in:\n"+output,output.indexOf(lookingFor)!=-1);
+ }
+
+}