package com.intuit.tank.harness.functions; /* * #%L * Intuit Tank Agent (apiharness) * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * 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 * #L% */ public class DataTypeFunctions { /** * Is this a valid function * * @param values * The parameter string * @return TRUE if it is a valid function; FALSE otherwise */ static public boolean isValid(String[] values) { try { if (values[3] == "") return false; if (values[2].equalsIgnoreCase("BYTE_Max") || values[2].equalsIgnoreCase("BYTE_Min") || values[2].equalsIgnoreCase("BYTE_Max_Plus") || values[2].equalsIgnoreCase("BYTE_Min_Minus") || values[2].equalsIgnoreCase("SHORT_Max") || values[2].equalsIgnoreCase("SHORT_Min") || values[2].equalsIgnoreCase("SHORT_Max_Plus") || values[2].equalsIgnoreCase("SHORT_Min_Minus") || values[2].equalsIgnoreCase("INT_Max") || values[2].equalsIgnoreCase("INT_Min") || values[2].equalsIgnoreCase("INT_Max_Plus") || values[2].equalsIgnoreCase("INT_Min_Minus") || values[2].equalsIgnoreCase("LONG_Max") || values[2].equalsIgnoreCase("LONG_Min") || values[2].equalsIgnoreCase("LONG_Max_Plus") || values[2].equalsIgnoreCase("LONG_Min_Minus")) return true; return false; } catch (Exception ex) { return false; } } /** * Execute the function * * @param values * The parameter string * @return The result of the function; "" if there was an issue */ static public String executeFunction(String[] values) { try { if (values[2].equalsIgnoreCase("BYTE_Max")) return DataTypeFunctions.BYTE_Max(); else if (values[2].equalsIgnoreCase("BYTE_Min")) return DataTypeFunctions.BYTE_Min(); else if (values[2].equalsIgnoreCase("BYTE_Max_Plus")) return DataTypeFunctions.BYTE_Max_Plus(); else if (values[2].equalsIgnoreCase("BYTE_Min_Minus")) return DataTypeFunctions.BYTE_Min_Minus(); else if (values[2].equalsIgnoreCase("SHORT_Max")) return DataTypeFunctions.SHORT_Max(); else if (values[2].equalsIgnoreCase("SHORT_Min")) return DataTypeFunctions.SHORT_Min(); else if (values[2].equalsIgnoreCase("SHORT_Max_Plus")) return DataTypeFunctions.SHORT_Max_Plus(); else if (values[2].equalsIgnoreCase("SHORT_Min_Minus")) return DataTypeFunctions.SHORT_Min_Minus(); else if (values[2].equalsIgnoreCase("INT_Max")) return DataTypeFunctions.INT_Max(); else if (values[2].equalsIgnoreCase("INT_Min")) return DataTypeFunctions.INT_Min(); else if (values[2].equalsIgnoreCase("INT_Max_Plus")) return DataTypeFunctions.INT_Max_Plus(); else if (values[2].equalsIgnoreCase("INT_Min_Minus")) return DataTypeFunctions.INT_Min_Minus(); else if (values[2].equalsIgnoreCase("LONG_Max")) return DataTypeFunctions.LONG_Max(); else if (values[2].equalsIgnoreCase("LONG_Min")) return DataTypeFunctions.LONG_Min(); else if (values[2].equalsIgnoreCase("LONG_Max_Plus")) return DataTypeFunctions.LONG_Max_Plus(); else if (values[2].equalsIgnoreCase("LONG_Min_Minus")) return DataTypeFunctions.LONG_Min_Minus(); return ""; } catch (Exception ex) { return ""; } } /** * Get the max value for a byte * * @return The max value of a byte */ static private String BYTE_Max() { byte tempValue = Byte.MAX_VALUE; return String.valueOf(tempValue); } /** * Get the min value for a byte * * @return The min value of a byte */ static private String BYTE_Min() { byte tempValue = Byte.MIN_VALUE; return String.valueOf(tempValue); } /** * Get the max value plus one for a byte * * @return The max value plus one of a byte */ static private String BYTE_Max_Plus() { long tempValue = Byte.MAX_VALUE + 1; return String.valueOf(tempValue); } /** * Get the min value minus one for a byte * * @return The min value minus one of a byte */ static private String BYTE_Min_Minus() { long tempValue = Byte.MIN_VALUE - 1; return String.valueOf(tempValue); } /** * Get the max value for a short * * @return The max value of a short */ static private String SHORT_Max() { short tempValue = Short.MAX_VALUE; return String.valueOf(tempValue); } /** * Get the min value for a short * * @return The min value of a short */ static private String SHORT_Min() { short tempValue = Short.MIN_VALUE; return String.valueOf(tempValue); } /** * Get the max value plus one for a short * * @return The max value plus one of a short */ static private String SHORT_Max_Plus() { long tempValue = Short.MAX_VALUE + 1; return String.valueOf(tempValue); } /** * Get the min value minus one for a short * * @return The min value minus one of a short */ static private String SHORT_Min_Minus() { long tempValue = Short.MIN_VALUE - 1; return String.valueOf(tempValue); } /** * Get the max value for an int * * @return The max value of an int */ static private String INT_Max() { int tempValue = Integer.MAX_VALUE; return String.valueOf(tempValue); } /** * Get the min value for a int * * @return The min value of a int */ static private String INT_Min() { int tempValue = Integer.MIN_VALUE; return String.valueOf(tempValue); } /** * Get the max value plus one for an int * * @return The max value plus one of an int */ static private String INT_Max_Plus() { long tempValue = Integer.MAX_VALUE + 1; return String.valueOf(tempValue); } /** * Get the min value minus one for a int * * @return The min value minus one of a int */ static private String INT_Min_Minus() { long tempValue = Integer.MIN_VALUE - 1; return String.valueOf(tempValue); } /** * Get the max value for a long * * @return The max value of a long */ static private String LONG_Max() { long tempValue = Long.MAX_VALUE; return String.valueOf(tempValue); } /** * Get the min value for a long * * @return The min value of a long */ static private String LONG_Min() { long tempValue = Long.MIN_VALUE; return String.valueOf(tempValue); } /** * Get the max value plus one for a long * * @return The max value plus one of a long */ static private String LONG_Max_Plus() { return "9223372036854775808"; } /** * Get the min value minus one for a long * * @return The min value minus one of a long */ static private String LONG_Min_Minus() { return "-9223372036854775809"; } }