blob: f004d387f5617cee67a937bbf1fb67af08c420fa [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002, 2003 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.debug.tests.eval;
import org.eclipse.jdt.debug.core.IJavaPrimitiveValue;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
public class TestsOperators2 extends Tests {
/**
* Constructor for TypeHierarchy.
* @param name
*/
public TestsOperators2(String name) {
super(name);
}
public void init() throws Exception {
initializeFrame("EvalSimpleTests", 37, 1, 1);
}
protected void end() throws Exception {
destroyFrame();
}
public void testInt() throws Throwable {
try {
init();
IValue value = eval(xVarInt + equalOp +xInt);
String typeName = value.getReferenceTypeName();
assertEquals("int local variable assignment : wrong type : ", "int", typeName);
int intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable assignment : wrong result : ", xIntValue, intValue);
value = eval(xVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", xIntValue, intValue);
value = eval(xVarInt + equalOp +yInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable assignment : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable assignment : wrong result : ", yIntValue, intValue);
value = eval(xVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", yIntValue, intValue);
value = eval(yVarInt + equalOp +xInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable assignment : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable assignment : wrong result : ", xIntValue, intValue);
value = eval(yVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", xIntValue, intValue);
value = eval(yVarInt + equalOp +yInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable assignment : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable assignment : wrong result : ", yIntValue, intValue);
value = eval(yVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", yIntValue, intValue);
} finally {;
end();
}
}
public void testString() throws Throwable {
try {
init();
IValue value = eval(xVarString + equalOp +xString);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable assignment : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable assignment : wrong result : ", xStringValue, stringValue);
value = eval(xVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", xStringValue, stringValue);
value = eval(xVarString + equalOp +yString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable assignment : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable assignment : wrong result : ", yStringValue, stringValue);
value = eval(xVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", yStringValue, stringValue);
value = eval(yVarString + equalOp +xString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable assignment : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable assignment : wrong result : ", xStringValue, stringValue);
value = eval(yVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", xStringValue, stringValue);
value = eval(yVarString + equalOp +yString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable assignment : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable assignment : wrong result : ", yStringValue, stringValue);
value = eval(yVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", yStringValue, stringValue);
} finally {;
end();
}
}
public void testIntPlusAssignmentInt() throws Throwable {
try {
init();
int tmpxVar = xVarIntValue;
tmpxVar += xIntValue;
IValue value = eval(xVarInt + plusAssignmentOp + xInt);
String typeName = value.getReferenceTypeName();
assertEquals("int plusAssignment int : wrong type : ", "int", typeName);
int intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int plusAssignment int : wrong result : ", tmpxVar, intValue);
value = eval(xVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", tmpxVar, intValue);
tmpxVar += yIntValue;
value = eval(xVarInt + plusAssignmentOp + yInt);
typeName = value.getReferenceTypeName();
assertEquals("int plusAssignment int : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int plusAssignment int : wrong result : ", tmpxVar, intValue);
value = eval(xVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", tmpxVar, intValue);
int tmpyVar = yVarIntValue;
tmpyVar += xIntValue;
value = eval(yVarInt + plusAssignmentOp + xInt);
typeName = value.getReferenceTypeName();
assertEquals("int plusAssignment int : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int plusAssignment int : wrong result : ", tmpyVar, intValue);
value = eval(yVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", tmpyVar, intValue);
tmpyVar += yIntValue;
value = eval(yVarInt + plusAssignmentOp + yInt);
typeName = value.getReferenceTypeName();
assertEquals("int plusAssignment int : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int plusAssignment int : wrong result : ", tmpyVar, intValue);
value = eval(yVarInt);
typeName = value.getReferenceTypeName();
assertEquals("int local variable value : wrong type : ", "int", typeName);
intValue = ((IJavaPrimitiveValue)value).getIntValue();
assertEquals("int local variable value : wrong result : ", tmpyVar, intValue);
} finally {;
end();
}
}
public void testStringPlusAssignmentString() throws Throwable {
try {
init();
java.lang.String tmpxVar = xVarStringValue;
tmpxVar += xStringValue;
IValue value = eval(xVarString + plusAssignmentOp + xString);
String typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong type : ", "java.lang.String", typeName);
String stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong result : ", tmpxVar, stringValue);
value = eval(xVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", tmpxVar, stringValue);
tmpxVar += yStringValue;
value = eval(xVarString + plusAssignmentOp + yString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong result : ", tmpxVar, stringValue);
value = eval(xVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", tmpxVar, stringValue);
java.lang.String tmpyVar = yVarStringValue;
tmpyVar += xStringValue;
value = eval(yVarString + plusAssignmentOp + xString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong result : ", tmpyVar, stringValue);
value = eval(yVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", tmpyVar, stringValue);
tmpyVar += yStringValue;
value = eval(yVarString + plusAssignmentOp + yString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String plusAssignment java.lang.String : wrong result : ", tmpyVar, stringValue);
value = eval(yVarString);
typeName = value.getReferenceTypeName();
assertEquals("java.lang.String local variable value : wrong type : ", "java.lang.String", typeName);
stringValue = ((JDIObjectValue)value).getValueString();
assertEquals("java.lang.String local variable value : wrong result : ", tmpyVar, stringValue);
} finally {;
end();
}
}
}