/*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

public class EvalSimpleTests {
	
	public static void main(String[] args) {
		byte xVarByte = -5;
		char xVarChar = (char)-5;
		short xVarShort = -5;
		int xVarInt = -5;
		long xVarLong = -5;
		float xVarFloat = (float)-5.3;
		double xVarDouble = -5.3;
		String xVarString = "minus five";
		boolean xVarBoolean = true;
//		Object xVarNull = null;

		byte yVarByte = 7;
		char yVarChar = 7;
		short yVarShort = 7;
		int yVarInt = 7;
		long yVarLong = 7;
		float yVarFloat = (float)6.9;
		double yVarDouble = 6.9;
		String yVarString = "seven";
		boolean yVarBoolean = false;
//		Object yVarNull = null;
		
		System.out.println("tests ...");
	}//3+3

}
