blob: 106ba2b8ca36cc398943d464cc8d8a8561732a4a [file] [log] [blame]
package org.eclipse.jdt.debug.tests.eval;
/**********************************************************************
Copyright (c) 2000, 2002 IBM Corp. and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Common Public License v0.5
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/cpl-v05.html
Contributors:
IBM Corporation - Initial implementation
*********************************************************************/
import org.eclipse.debug.core.model.IValue;
import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
public class StringPlusOpTests extends Tests {
public StringPlusOpTests(String arg) {
super(arg);
}
protected void init() throws Exception {
initializeFrame("EvalSimpleTests",15,1);
}
protected void end() throws Exception {
destroyFrame();
}
// java.lang.String + {byte, char, short, int, long, java.lang.String, null}
public void testStringPlusByte() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yByte);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus byte : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus byte : wrong result : ", xStringValue + yByteValue, stringValue);
value = eval(yString + plusOp + xByte);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus byte : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus byte : wrong result : ", yStringValue + xByteValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusChar() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yChar);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus char : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus char : wrong result : ", xStringValue + yCharValue, stringValue);
value = eval(yString + plusOp + xChar);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus char : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus char : wrong result : ", yStringValue + xCharValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusShort() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yShort);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus short : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus short : wrong result : ", xStringValue + yShortValue, stringValue);
value = eval(yString + plusOp + xShort);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus short : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus short : wrong result : ", yStringValue + xShortValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusInt() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yInt);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus int : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus int : wrong result : ", xStringValue + yIntValue, stringValue);
value = eval(yString + plusOp + xInt);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus int : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus int : wrong result : ", yStringValue + xIntValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusLong() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yLong);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus long : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus long : wrong result : ", xStringValue + yLongValue, stringValue);
value = eval(yString + plusOp + xLong);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus long : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus long : wrong result : ", yStringValue + xLongValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusDouble() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yDouble);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus double : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus double : wrong result : ", xStringValue + yDoubleValue, stringValue);
value = eval(yString + plusOp + xDouble);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus double : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus double : wrong result : ", yStringValue + xDoubleValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusBoolean() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yBoolean);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus boolean : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus boolean : wrong result : ", xStringValue + yBooleanValue, stringValue);
value = eval(yString + plusOp + xBoolean);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus boolean : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus boolean : wrong result : ", yStringValue + xBooleanValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusString() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yString);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus java.lang.String : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus java.lang.String : wrong result : ", xStringValue + yStringValue, stringValue);
value = eval(yString + plusOp + xString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus java.lang.String : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus java.lang.String : wrong result : ", yStringValue + xStringValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
public void testStringPlusNull() throws Throwable {
try {
init();
IValue value = eval(xString + plusOp + yNull);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus null : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus null : wrong result : ", xStringValue + yNullValue, stringValue);
value = eval(yString + plusOp + xNull);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plus null : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plus null : wrong result : ", yStringValue + xNullValue, stringValue);
} catch (Throwable e) {
e.printStackTrace(); throw e;
} finally {;
end();
}
}
}