/******************************************************************************* * Copyright (c) 2002, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.debug.tests.eval; import org.eclipse.debug.core.model.IValue; import org.eclipse.jdt.debug.core.IJavaPrimitiveValue; import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue; public class LocalVarAssignmentTests extends Tests { public LocalVarAssignmentTests(String arg) { super(arg); } protected void init() throws Exception { initializeFrame("EvalSimpleTests",37,1); } protected void end() throws Exception { destroyFrame(); } // public void testByte() throws Throwable { try { init(); IValue value = eval(xVarByte + equalOp +xByte); String typeName = value.getReferenceTypeName(); assertEquals("byte local variable assignment : wrong type : ", "byte", typeName); byte byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable assignment : wrong result : ", xByteValue, byteValue); value = eval(xVarByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable value : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable value : wrong result : ", xByteValue, byteValue); value = eval(xVarByte + equalOp +yByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable assignment : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable assignment : wrong result : ", yByteValue, byteValue); value = eval(xVarByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable value : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable value : wrong result : ", yByteValue, byteValue); value = eval(yVarByte + equalOp +xByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable assignment : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable assignment : wrong result : ", xByteValue, byteValue); value = eval(yVarByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable value : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable value : wrong result : ", xByteValue, byteValue); value = eval(yVarByte + equalOp +yByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable assignment : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable assignment : wrong result : ", yByteValue, byteValue); value = eval(yVarByte); typeName = value.getReferenceTypeName(); assertEquals("byte local variable value : wrong type : ", "byte", typeName); byteValue = ((IJavaPrimitiveValue)value).getByteValue(); assertEquals("byte local variable value : wrong result : ", yByteValue, byteValue); } finally { end(); } } public void testChar() throws Throwable { try { init(); IValue value = eval(xVarChar + equalOp +xChar); String typeName = value.getReferenceTypeName(); assertEquals("char local variable assignment : wrong type : ", "char", typeName); char charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable assignment : wrong result : ", xCharValue, charValue); value = eval(xVarChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable value : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable value : wrong result : ", xCharValue, charValue); value = eval(xVarChar + equalOp +yChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable assignment : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable assignment : wrong result : ", yCharValue, charValue); value = eval(xVarChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable value : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable value : wrong result : ", yCharValue, charValue); value = eval(yVarChar + equalOp +xChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable assignment : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable assignment : wrong result : ", xCharValue, charValue); value = eval(yVarChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable value : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable value : wrong result : ", xCharValue, charValue); value = eval(yVarChar + equalOp +yChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable assignment : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable assignment : wrong result : ", yCharValue, charValue); value = eval(yVarChar); typeName = value.getReferenceTypeName(); assertEquals("char local variable value : wrong type : ", "char", typeName); charValue = ((IJavaPrimitiveValue)value).getCharValue(); assertEquals("char local variable value : wrong result : ", yCharValue, charValue); } finally { end(); } } public void testShort() throws Throwable { try { init(); IValue value = eval(xVarShort + equalOp +xShort); String typeName = value.getReferenceTypeName(); assertEquals("short local variable assignment : wrong type : ", "short", typeName); short shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable assignment : wrong result : ", xShortValue, shortValue); value = eval(xVarShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable value : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable value : wrong result : ", xShortValue, shortValue); value = eval(xVarShort + equalOp +yShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable assignment : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable assignment : wrong result : ", yShortValue, shortValue); value = eval(xVarShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable value : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable value : wrong result : ", yShortValue, shortValue); value = eval(yVarShort + equalOp +xShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable assignment : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable assignment : wrong result : ", xShortValue, shortValue); value = eval(yVarShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable value : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable value : wrong result : ", xShortValue, shortValue); value = eval(yVarShort + equalOp +yShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable assignment : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable assignment : wrong result : ", yShortValue, shortValue); value = eval(yVarShort); typeName = value.getReferenceTypeName(); assertEquals("short local variable value : wrong type : ", "short", typeName); shortValue = ((IJavaPrimitiveValue)value).getShortValue(); assertEquals("short local variable value : wrong result : ", yShortValue, shortValue); } finally { end(); } } 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 testLong() throws Throwable { try { init(); IValue value = eval(xVarLong + equalOp +xLong); String typeName = value.getReferenceTypeName(); assertEquals("long local variable assignment : wrong type : ", "long", typeName); long longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable assignment : wrong result : ", xLongValue, longValue); value = eval(xVarLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable value : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable value : wrong result : ", xLongValue, longValue); value = eval(xVarLong + equalOp +yLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable assignment : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable assignment : wrong result : ", yLongValue, longValue); value = eval(xVarLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable value : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable value : wrong result : ", yLongValue, longValue); value = eval(yVarLong + equalOp +xLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable assignment : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable assignment : wrong result : ", xLongValue, longValue); value = eval(yVarLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable value : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable value : wrong result : ", xLongValue, longValue); value = eval(yVarLong + equalOp +yLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable assignment : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable assignment : wrong result : ", yLongValue, longValue); value = eval(yVarLong); typeName = value.getReferenceTypeName(); assertEquals("long local variable value : wrong type : ", "long", typeName); longValue = ((IJavaPrimitiveValue)value).getLongValue(); assertEquals("long local variable value : wrong result : ", yLongValue, longValue); } finally { end(); } } public void testFloat() throws Throwable { try { init(); IValue value = eval(xVarFloat + equalOp +xFloat); String typeName = value.getReferenceTypeName(); assertEquals("float local variable assignment : wrong type : ", "float", typeName); float floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable assignment : wrong result : ", xFloatValue, floatValue, 0); value = eval(xVarFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable value : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable value : wrong result : ", xFloatValue, floatValue, 0); value = eval(xVarFloat + equalOp +yFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable assignment : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable assignment : wrong result : ", yFloatValue, floatValue, 0); value = eval(xVarFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable value : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable value : wrong result : ", yFloatValue, floatValue, 0); value = eval(yVarFloat + equalOp +xFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable assignment : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable assignment : wrong result : ", xFloatValue, floatValue, 0); value = eval(yVarFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable value : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable value : wrong result : ", xFloatValue, floatValue, 0); value = eval(yVarFloat + equalOp +yFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable assignment : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable assignment : wrong result : ", yFloatValue, floatValue, 0); value = eval(yVarFloat); typeName = value.getReferenceTypeName(); assertEquals("float local variable value : wrong type : ", "float", typeName); floatValue = ((IJavaPrimitiveValue)value).getFloatValue(); assertEquals("float local variable value : wrong result : ", yFloatValue, floatValue, 0); } finally { end(); } } public void testDouble() throws Throwable { try { init(); IValue value = eval(xVarDouble + equalOp +xDouble); String typeName = value.getReferenceTypeName(); assertEquals("double local variable assignment : wrong type : ", "double", typeName); double doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable assignment : wrong result : ", xDoubleValue, doubleValue, 0); value = eval(xVarDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable value : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable value : wrong result : ", xDoubleValue, doubleValue, 0); value = eval(xVarDouble + equalOp +yDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable assignment : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable assignment : wrong result : ", yDoubleValue, doubleValue, 0); value = eval(xVarDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable value : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable value : wrong result : ", yDoubleValue, doubleValue, 0); value = eval(yVarDouble + equalOp +xDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable assignment : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable assignment : wrong result : ", xDoubleValue, doubleValue, 0); value = eval(yVarDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable value : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable value : wrong result : ", xDoubleValue, doubleValue, 0); value = eval(yVarDouble + equalOp +yDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable assignment : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable assignment : wrong result : ", yDoubleValue, doubleValue, 0); value = eval(yVarDouble); typeName = value.getReferenceTypeName(); assertEquals("double local variable value : wrong type : ", "double", typeName); doubleValue = ((IJavaPrimitiveValue)value).getDoubleValue(); assertEquals("double local variable value : wrong result : ", yDoubleValue, doubleValue, 0); } 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 testBoolean() throws Throwable { try { init(); IValue value = eval(xVarBoolean + equalOp +xBoolean); String typeName = value.getReferenceTypeName(); assertEquals("boolean local variable assignment : wrong type : ", "boolean", typeName); boolean booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable assignment : wrong result : ", xBooleanValue, booleanValue); value = eval(xVarBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable value : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable value : wrong result : ", xBooleanValue, booleanValue); value = eval(xVarBoolean + equalOp +yBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable assignment : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable assignment : wrong result : ", yBooleanValue, booleanValue); value = eval(xVarBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable value : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable value : wrong result : ", yBooleanValue, booleanValue); value = eval(yVarBoolean + equalOp +xBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable assignment : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable assignment : wrong result : ", xBooleanValue, booleanValue); value = eval(yVarBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable value : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable value : wrong result : ", xBooleanValue, booleanValue); value = eval(yVarBoolean + equalOp +yBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable assignment : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable assignment : wrong result : ", yBooleanValue, booleanValue); value = eval(yVarBoolean); typeName = value.getReferenceTypeName(); assertEquals("boolean local variable value : wrong type : ", "boolean", typeName); booleanValue = ((IJavaPrimitiveValue)value).getBooleanValue(); assertEquals("boolean local variable value : wrong result : ", yBooleanValue, booleanValue); } finally { end(); } } }