diff options
author | aclement <aclement> | 2004-12-10 13:33:59 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-12-10 13:33:59 +0000 |
commit | 09bd5866f9f2bf1e4c9a9e8e5bfc3f2a7497ecfc (patch) | |
tree | 669748d9effbeb98ad95666a07c13db43d4253f2 /tests/src | |
parent | 7a04b2f94b4994abed36f217b257b047b632f2b7 (diff) | |
download | aspectj-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.java | 155 |
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); + } + +} |