/* * FormulaVariableTest.java * JUnit based test * * Created on July 12, 2006, 1:27 PM */ package com.accountingenhancements.formula; import com.sun.org.apache.bcel.internal.generic.AALOAD; import java.text.FieldPosition; import java.text.ParsePosition; import java.util.Date; import junit.framework.*; import java.math.*; /** * * @author lofgren */ public class FormulaVariableTest extends TestCase { public FormulaVariableTest(String testName) { super(testName); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } public static Test suite() { TestSuite suite = new TestSuite(FormulaVariableTest.class); return suite; } /** * Test of setValue method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testSetValue()throws Exception { System.out.println("setValue"); String valueString = "TestString"; String valueStringDouble = "12.213"; String valueStringDoubleRnd="12.215"; long valueLong=12; double valueDouble=11.23; BigDecimal valueBD=new BigDecimal("12.345"); FormulaVariable instance = null; String resultString=null; Double resultDouble=null; BigDecimal resultBigDecimal=null; Long resultLong=null; Boolean resultBoolean=null; boolean error; //Test TYPE_STRING instance = new FormulaVariable("",FormulaVariable.TYPE_STRING,0,0); instance.setValue(valueString); assertTrue("Return value was expected to be of type String",String.class.isInstance(instance.getValue())); resultString=(String)instance.getValue(); assertTrue("Return value was expected to be '" + valueString + "But was " + resultString,valueString.equals(resultString)); instance.setValue(valueLong); resultString=(String)instance.getValue(); assertEquals(valueLong,Long.parseLong(resultString)); instance.setValue(valueDouble); resultString=(String)instance.getValue(); assertEquals(valueDouble,Double.parseDouble(resultString)); instance.setValue(valueBD); resultString=(String)instance.getValue(); assertEquals(valueBD.doubleValue(),Double.parseDouble(resultString)); instance.setValue(false); resultString=(String)instance.getValue(); assertTrue("Return value was expected to be 'false' but was "+resultString,resultString.equals("false")); instance.setValue(true); resultString=(String)instance.getValue(); assertTrue("Return value was expected to be 'true' but was "+resultString,resultString.equals("true")); //Test TYPE_LONG instance = new FormulaVariable("",FormulaVariable.TYPE_LONG,0,0); error=false; try{ instance.setValue(valueString); } catch(java.lang.NumberFormatException ex){ error=true; } assertTrue("Set a Long value to '" + valueString + "' and expected a NumberFormatException",error); instance.setValue(valueStringDouble); assertTrue("Return value was expected to be of type Long",Long.class.isInstance(instance.getValue())); resultLong=(Long)instance.getValue(); assertEquals(Long.parseLong(new BigDecimal(valueStringDouble).setScale(0,BigDecimal.ROUND_HALF_UP).toPlainString()),resultLong.longValue()); instance.setValue(valueLong); resultLong=(Long)instance.getValue(); assertEquals(valueLong,resultLong.longValue()); instance.setValue(valueDouble); resultLong=(Long)instance.getValue(); assertEquals(Double.valueOf(valueDouble).longValue(),resultLong.longValue()); instance.setValue(valueBD); resultLong=(Long)instance.getValue(); assertEquals(valueBD.longValue(),resultLong.longValue()); instance.setValue(false); resultLong=(Long)instance.getValue(); assertEquals((long)0,resultLong.longValue()); instance.setValue(true); resultLong=(Long)instance.getValue(); assertEquals((long)1,resultLong.longValue()); //Test TYPE_DOUBLE instance = new FormulaVariable("",FormulaVariable.TYPE_DOUBLE,3,0); error=false; try{ instance.setValue(valueString); } catch(java.lang.NumberFormatException ex){ error=true; } assertTrue("Set a Double value to '" + valueString + "' and expected a NumberFormatException",error); instance.setValue(valueStringDouble); assertTrue("Return value was expected to be of type Double",Double.class.isInstance(instance.getValue())); resultDouble=(Double)instance.getValue(); assertEquals(Double.parseDouble(valueStringDouble),resultDouble.doubleValue()); instance.setValue(valueDouble); resultDouble=(Double)instance.getValue(); assertEquals(valueDouble,resultDouble.doubleValue()); instance.setValue(valueDouble); resultDouble=(Double)instance.getValue(); assertEquals(Double.valueOf(valueDouble).doubleValue(),resultDouble.doubleValue()); instance.setValue(valueBD); resultDouble=(Double)instance.getValue(); assertEquals(valueBD.doubleValue(),resultDouble.doubleValue()); instance.setValue(false); resultDouble=(Double)instance.getValue(); assertEquals((double)0,resultDouble.doubleValue()); instance.setValue(true); resultDouble=(Double)instance.getValue(); assertEquals((double)1,resultDouble.doubleValue()); //Test TYPE_BOOLEAN instance = new FormulaVariable("",FormulaVariable.TYPE_BOOLEAN,0,0); instance.setValue(valueString); assertTrue("Return value was expected to be of type Boolean",Boolean.class.isInstance(instance.getValue())); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue("trUe"); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue("fAlse"); resultBoolean=(Boolean)instance.getValue(); assertEquals(false,resultBoolean.booleanValue()); instance.setValue("yEs"); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue("No"); resultBoolean=(Boolean)instance.getValue(); assertEquals(false,resultBoolean.booleanValue()); instance.setValue(true); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue(false); resultBoolean=(Boolean)instance.getValue(); assertEquals(false,resultBoolean.booleanValue()); instance.setValue(valueDouble); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue((double)0.44); resultBoolean=(Boolean)instance.getValue(); assertEquals(false,resultBoolean.booleanValue()); instance.setValue((double)0.54); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue(valueBD); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue(valueLong); resultBoolean=(Boolean)instance.getValue(); assertEquals(true,resultBoolean.booleanValue()); instance.setValue((long)0); resultBoolean=(Boolean)instance.getValue(); assertEquals(false,resultBoolean.booleanValue()); //Test TYPE_DATE instance=new FormulaVariable("","1/2/06",0); assertEquals(FormulaVariable.TYPE_DATE,instance.getVariableType()); assertTrue("Was: <"+instance.toString()+"> Expected: 01/02/2006",instance.toString().equals("01/02/2006")); instance.setValue("5/10/35"); assertTrue("Was: <"+instance.toString()+"> Expected: 05/10/1935",instance.toString().equals("05/10/1935")); instance.setValue(instance.getLong()+86400001); assertTrue("Was: <"+instance.toString()+"> Expected: 05/11/1935",instance.toString().equals("05/11/1935")); instance.setValue(instance.getDouble()+86400001.87); assertTrue("Was: <"+instance.toString()+"> Expected: 05/12/1935",instance.toString().equals("05/12/1935")); java.util.Calendar cal=java.util.Calendar.getInstance(); cal.set(2001,5-1,2); instance.setValue(cal.getTime()); assertTrue("Was: <"+instance.toString()+"> Expected: 05/02/2001",instance.toString().equals("05/02/2001")); instance = new FormulaVariable("","\"Hi there\"",0); instance.setValue(cal.getTime()); assertTrue("Was: <"+instance.toString()+"> Expected: 05/02/2001",instance.toString().equals("05/02/2001")); //Test TYPE_VARIABLE instance=new FormulaVariable("","test",0,true); assertEquals(FormulaVariable.TYPE_VARIABLE,instance.getVariableType()); //Test TYPE_FORMULA instance=new FormulaVariable("","test()+1",0,true); assertEquals(FormulaVariable.TYPE_FORMULA,instance.getVariableType()); instance=new FormulaVariable("","\"test\"",0,true); assertEquals(FormulaVariable.TYPE_STRING,instance.getVariableType()); instance=new FormulaVariable("","test",0,false); assertEquals(FormulaVariable.TYPE_STRING,instance.getVariableType()); instance=new FormulaVariable("","\"test\"+\"ing\"",0,true); assertEquals(FormulaVariable.TYPE_FORMULA,instance.getVariableType()); instance=new FormulaVariable("","test()+1",0); assertEquals(FormulaVariable.TYPE_FORMULA,instance.getVariableType()); error=false; try{ instance=new FormulaVariable("test()+1"); } catch(java.text.ParseException ex){error=true;} assertEquals(true,error); instance=new FormulaVariable("testVar=test()+1"); assertEquals(FormulaVariable.TYPE_FORMULA,instance.getVariableType()); assertEquals("testVar",instance.getVariableName()); error=false; try{ instance=new FormulaVariable("test()+1",1); } catch(java.text.ParseException ex){error=true;} assertEquals(true,error); instance=new FormulaVariable("testVar=test()+1",1); assertEquals(FormulaVariable.TYPE_FORMULA,instance.getVariableType()); assertEquals("testVar",instance.getVariableName()); //Test TYPE_FUNCTION instance=new FormulaVariable("","test()",0,true); assertEquals(FormulaVariable.TYPE_FUNCTION,instance.getVariableType()); //Test stripSurroundingQuotesFromStrings instance=new FormulaVariable("","\"test\"",0,true); assertEquals(FormulaVariable.TYPE_STRING,instance.getVariableType()); assertTrue("Was: <"+instance.getString()+"> Expected: ",instance.getString().equals("test")); instance=new FormulaVariable("","\"test\"",0,false); assertEquals(FormulaVariable.TYPE_STRING,instance.getVariableType()); assertTrue("Was: <"+instance.getString()+"> Expected: <\"test\">",instance.getString().equals("\"test\"")); instance = new FormulaVariable("",FormulaVariable.TYPE_STRING,0,true); instance.setValue("\"test\""); assertTrue("Was: <"+instance.getString()+"> Expected: ",instance.getString().equals("test")); instance = new FormulaVariable("",FormulaVariable.TYPE_STRING,0,false); instance.setValue("\"test\""); assertTrue("Was: <"+instance.getString()+"> Expected: <\"test\">",instance.getString().equals("\"test\"")); instance = new FormulaVariable(FormulaVariable.TYPE_STRING,0,true); instance.setValue("\"test\""); assertTrue("Was: <"+instance.getString()+"> Expected: ",instance.getString().equals("test")); instance = new FormulaVariable(FormulaVariable.TYPE_STRING,0,false); instance.setValue("\"test\""); assertTrue("Was: <"+instance.getString()+"> Expected: <\"test\">",instance.getString().equals("\"test\"")); } /** *Test of getDate method, of class com.accountingenhancements.formula.FormulaVariable */ public void testGetDate()throws Exception{ System.out.println("getDate"); FormulaVariable instance=new FormulaVariable("","4/3/2006",0); java.util.Date date; java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("MM/dd/yyyy"); date = instance.getDate(); assertTrue("Was: <"+sdf.format(date)+"> Expected: 04/03/2006",sdf.format(date).equals("04/03/2006")); instance = new FormulaVariable("",Long.toString(instance.getLong()+86400001),0); date = instance.getDate(); assertTrue("Was: <"+sdf.format(date)+"> Expected: 04/04/2006",sdf.format(date).equals("04/04/2006")); instance = new FormulaVariable("",Long.toString(instance.getLong()+86400001)+".99",0); date = instance.getDate(); assertTrue("Was: <"+sdf.format(date)+"> Expected: 04/05/2006",sdf.format(date).equals("04/05/2006")); } /** * Test of getString method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetString() { System.out.println("getString"); FormulaVariable instance = null; String expResult = "testString"; instance = new FormulaVariable("",expResult,FormulaVariable.TYPE_STRING,0,0); String result = instance.getString(); assertTrue("Expected '" + expResult +"' but got '" + result + "'",expResult.equals(result)); } /** * Test of getLong method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetLong() { System.out.println("getLong"); FormulaVariable instance = null; boolean error; Long expResult = null; instance = new FormulaVariable("","test",FormulaVariable.TYPE_STRING,0,0); error=false; try{ expResult=instance.getLong(); } catch (java.lang.NumberFormatException ex){ error=true; } assertTrue("Expected NumberFormatException",error); instance.setValue("2"); Long result = instance.getLong(); assertEquals((long)2, result.longValue()); instance = new FormulaVariable("","1.2345",FormulaVariable.TYPE_DOUBLE,2,0); result = instance.getLong(); assertEquals((long)1, result.longValue()); instance = new FormulaVariable("","1.5345",FormulaVariable.TYPE_DOUBLE,2,0); result = instance.getLong(); assertEquals((long)2, result.longValue()); instance = new FormulaVariable("",FormulaVariable.TYPE_OPERATOR_AND,0,0); error=false; try{ expResult=instance.getLong(); } catch (java.lang.NumberFormatException ex){ error=true; } assertTrue("Expected NumberFormatException",error); } /** * Test of getDouble method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetDouble() { System.out.println("getDouble"); FormulaVariable instance = null; boolean error; Double expResult = null; instance = new FormulaVariable("","test",FormulaVariable.TYPE_STRING,0,0); error=false; try{ expResult=instance.getDouble(); } catch (java.lang.NumberFormatException ex){ error=true; } assertTrue("Expected NumberFormatException",error); instance.setValue("2.03"); Double result = instance.getDouble(); assertEquals((double)2.03, result.doubleValue()); instance = new FormulaVariable("","1.2345",FormulaVariable.TYPE_DOUBLE,2,0); result = instance.getDouble(); assertEquals((double)1.23, result.doubleValue()); instance = new FormulaVariable("","1.5365",FormulaVariable.TYPE_DOUBLE,2,0); result = instance.getDouble(); assertEquals((double)1.54, result.doubleValue()); instance = new FormulaVariable("",FormulaVariable.TYPE_OPERATOR_AND,0,0); error=false; try{ expResult=instance.getDouble(); } catch (java.lang.NumberFormatException ex){ error=true; } assertTrue("Expected NumberFormatException",error); } /** * Test of getBigDecimalScaled method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetBigDecimalScaled() { System.out.println("getBigDecimalScaled"); FormulaVariable instance = null; instance = new FormulaVariable("","1.2354",FormulaVariable.TYPE_DOUBLE,2,0); BigDecimal result = instance.getBigDecimalScaled(); assertTrue("BigDecimal was expected to be 1.24 but was "+result.toPlainString(),result.toPlainString().equals("1.24")); } /** * Test of getBoolean method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetBoolean() { System.out.println("getBoolean"); FormulaVariable instance = null; instance = new FormulaVariable("","1",FormulaVariable.TYPE_BOOLEAN,1,0); Boolean result = instance.getBoolean(); assertEquals(true, result.booleanValue()); instance.setValue("0"); result = instance.getBoolean(); assertEquals(false, result.booleanValue()); instance.setValue((double)0.05); result = instance.getBoolean(); assertEquals(true, result.booleanValue()); instance.setValue((double)0.04); result = instance.getBoolean(); assertEquals(false, result.booleanValue()); instance = new FormulaVariable("",(double).05,0,0); assertEquals(false,instance.getBoolean()); instance = new FormulaVariable("",(double).05,2,0); assertEquals(true,instance.getBoolean()); instance = new FormulaVariable("",(long)0,0,0); assertEquals(false,instance.getBoolean()); instance = new FormulaVariable("",(long)2,0,0); assertEquals(true,instance.getBoolean()); } /** * Test of booleanValue method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testBooleanValue() { System.out.println("booleanValue"); FormulaVariable instance = null; instance = new FormulaVariable("","0",FormulaVariable.TYPE_BOOLEAN,1,0); assertEquals(true,instance.booleanValue("test")); assertEquals(true,instance.booleanValue("trUe")); assertEquals(true,instance.booleanValue("YeS")); assertEquals(true,instance.booleanValue("1")); assertEquals(true,instance.booleanValue("0.05")); assertEquals(false,instance.booleanValue("No")); assertEquals(false,instance.booleanValue("fAlse")); assertEquals(false,instance.booleanValue("0")); assertEquals(false,instance.booleanValue("0.03")); } /** *Test of detectVariableType method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testDetectVariableType() { System.out.append("detectVariableType"); boolean treatUnquotedTextAsFormulas; String variableValue; int result; int expResult; treatUnquotedTextAsFormulas=false; variableValue="12.34"; expResult=FormulaVariable.TYPE_DOUBLE; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="-12.34"; expResult=FormulaVariable.TYPE_DOUBLE; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="12"; expResult=FormulaVariable.TYPE_LONG; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="0"; expResult=FormulaVariable.TYPE_LONG; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="-91212"; expResult=FormulaVariable.TYPE_LONG; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="Hi"; expResult=FormulaVariable.TYPE_STRING; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="1+3"; expResult=FormulaVariable.TYPE_STRING; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="\"Hi\""; expResult=FormulaVariable.TYPE_STRING; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); treatUnquotedTextAsFormulas=true; variableValue="12.34"; expResult=FormulaVariable.TYPE_DOUBLE; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="-12.34"; expResult=FormulaVariable.TYPE_DOUBLE; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="12"; expResult=FormulaVariable.TYPE_LONG; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="0"; expResult=FormulaVariable.TYPE_LONG; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="-91212"; expResult=FormulaVariable.TYPE_LONG; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="Hi"; expResult=FormulaVariable.TYPE_VARIABLE; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="1+3"; expResult=FormulaVariable.TYPE_FORMULA; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="test()"; expResult=FormulaVariable.TYPE_FUNCTION; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="test (\"Hi there(\",b(),) "; expResult=FormulaVariable.TYPE_FUNCTION; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="test (\"Hi there(\",b(),) + d"; expResult=FormulaVariable.TYPE_FORMULA; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="test*1"; expResult=FormulaVariable.TYPE_FORMULA; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue="\"Hi\""; expResult=FormulaVariable.TYPE_STRING; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); variableValue=" "; result=FormulaVariable.detectVariableType(variableValue,treatUnquotedTextAsFormulas); assertEquals(expResult,result); } /** *Test findScaleOfDouble method, of class com.accountingenhancements.formua.FormulaVariable. */ public void testFindScaleOfDouble(){ int expResult; int result; String value; value="12"; expResult=0; result=FormulaVariable.findScaleOfDouble(value); assertEquals(expResult,result); value="12."; expResult=0; result=FormulaVariable.findScaleOfDouble(value); assertEquals(expResult,result); value="12.1"; expResult=1; result=FormulaVariable.findScaleOfDouble(value); assertEquals(expResult,result); value="12.548"; expResult=3; result=FormulaVariable.findScaleOfDouble(value); assertEquals(expResult,result); } /** * Test of getVariableType method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetVariableType() { System.out.println("getVariableType"); FormulaVariable instance = null; int expResult = FormulaVariable.TYPE_BOOLEAN; instance = new FormulaVariable("",FormulaVariable.TYPE_BOOLEAN,0,0); int result = instance.getVariableType(); assertEquals(expResult, result); expResult = FormulaVariable.TYPE_DOUBLE; instance = new FormulaVariable("",FormulaVariable.TYPE_DOUBLE,0,0); result = instance.getVariableType(); assertEquals(expResult, result); } /** * Test of toString method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testToString() { System.out.println("toString"); FormulaVariable instance = null; String expResult = "TestString 1 "; instance = new FormulaVariable("",expResult,FormulaVariable.TYPE_STRING,0,0); String result = instance.toString(); assertTrue("Was: <"+result+"> Expected: <"+expResult+">", expResult.equals(result)); for (int index=100;index Expected: <"+expResult+">", expResult.equals(result)); } } /** * Test of getVariableName method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetVariableName() { System.out.println("getVariableName"); FormulaVariable instance = null; String expResult = "TestName"; instance = new FormulaVariable(expResult,"",FormulaVariable.TYPE_STRING,0,0); String result = instance.getVariableName(); assertTrue("Was: <" + result + "> Expected: <" + expResult + ">", expResult.equals(result)); } /** * Test of getLevel method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetLevel() { System.out.println("getLevel"); FormulaVariable instance = null; int expResult = 2; instance = new FormulaVariable("","",FormulaVariable.TYPE_STRING,0,expResult); int result = instance.getLevel(); assertEquals(expResult, result); } /** * Test of getScale method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetScale() { System.out.println("getscale"); FormulaVariable instance = null; int expResult = 2; instance = new FormulaVariable("","0",FormulaVariable.TYPE_DOUBLE,expResult,0); int result = instance.getScale(); assertEquals(expResult, result); } /** * Test of setScale method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testSetScale() { System.out.println("setScale"); int scale = 4; FormulaVariable instance = null; instance = new FormulaVariable("","0",FormulaVariable.TYPE_DOUBLE,0,0); instance.setScale(scale); int result = instance.getScale(); assertEquals(scale,result); } /** * Test of isOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testIsOperator() { System.out.println("isOperator"); FormulaVariable instance = null; boolean expResult = true; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_OPERATOR_AND,0,0); boolean result = instance.isOperator(); assertEquals(expResult, result); expResult=false; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_FORMULA,0,0); result = instance.isOperator(); assertEquals(expResult, result); } /** * Test of isUnaryOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testIsUnaryOperator() { System.out.println("isUnaryOperator"); FormulaVariable instance = null; boolean expResult = false; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_OPERATOR_AND,0,0); boolean result = instance.isUnaryOperator(); assertEquals(expResult, result); expResult=false; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_FORMULA,0,0); result = instance.isUnaryOperator(); assertEquals(expResult, result); expResult=true; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_OPERATOR_UNARY_NOT,0,0); result = instance.isUnaryOperator(); assertEquals(expResult, result); } /** * Test of isNonUnaryOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testIsNonUnaryOperator() { System.out.println("isNonUnaryOperator"); FormulaVariable instance = null; boolean expResult = true; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_OPERATOR_AND,0,0); boolean result = instance.isNonUnaryOperator(); assertEquals(expResult, result); expResult=false; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_FORMULA,0,0); result = instance.isNonUnaryOperator(); assertEquals(expResult, result); expResult=false; instance = new FormulaVariable("",(String)null,FormulaVariable.TYPE_OPERATOR_UNARY_NOT,0,0); result = instance.isNonUnaryOperator(); assertEquals(expResult, result); } /** * Test of testIsOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testTestIsOperator() { System.out.println("testIsOperator"); String operator = ""; boolean expResult = true; boolean result = FormulaVariable.testIsOperator(FormulaVariable.TYPE_OPERATOR_DIVIDE); assertEquals(expResult, result); expResult=false; result = FormulaVariable.testIsOperator(FormulaVariable.TYPE_DOUBLE); assertEquals(expResult, result); result=FormulaVariable.testIsOperator('A'); assertEquals(false,result); result=FormulaVariable.testIsOperator(' '); assertEquals(false,result); result=FormulaVariable.testIsOperator('!'); assertEquals(true,result); result=FormulaVariable.testIsOperator('='); assertEquals(true,result); result=FormulaVariable.testIsOperator('>'); assertEquals(true,result); result=FormulaVariable.testIsOperator('<'); assertEquals(true,result); } /** * Test of findOperatorPrecedence method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testFindOperatorPrecedence()throws Exception { System.out.println("findOperatorPrecedence"); String operator = ""; int expResult = 0; int result; String fieldName; int operatorInt; String operatorSymbol; FormulaVariable instance = new FormulaVariable("",FormulaVariable.TYPE_NOTHING,0,0); java.lang.reflect.Field[] publicFields = FormulaVariable.class.getFields(); for(int i=0;i Was: <"+result+"> Expected: <"+operatorInt+">",operatorInt,result); } } } /** * Test of testIsUnaryOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testTestIsUnaryOperator()throws Exception { System.out.println("testIsUnaryOperator"); int operator; boolean expResult; boolean result; String fieldName; int operatorInt; String operatorSymbol; FormulaVariable instance = new FormulaVariable("",FormulaVariable.TYPE_NOTHING,0,0); java.lang.reflect.Field[] publicFields = FormulaVariable.class.getFields(); for(int i=0;i=0)expResult=true; result=FormulaVariable.testIsUnaryOperator(operator); assertEquals("Testing for operator<"+fieldName+"> Was: <"+result+"> Expected: <"+expResult+">",expResult,result); } } } /** * Test of getOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testGetOperator() { System.out.println("getOperator"); FormulaVariable instance = null; int expResult = FormulaVariable.TYPE_OPERATOR_BIT_XOR; instance = new FormulaVariable("",expResult,0,0); int result = instance.getOperator(); assertEquals(expResult, result); instance = new FormulaVariable("",FormulaVariable.TYPE_OPERATOR_OR,0); assertEquals(FormulaVariable.TYPE_OPERATOR_OR,instance.getOperator()); instance = new FormulaVariable(FormulaVariable.TYPE_OPERATOR_AND,0); assertEquals(FormulaVariable.TYPE_OPERATOR_AND,instance.getOperator()); instance = new FormulaVariable(FormulaVariable.TYPE_OPERATOR_BIT_XOR); assertEquals(FormulaVariable.TYPE_OPERATOR_BIT_XOR,instance.getOperator()); } /** *Test of clone method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testClone(){ System.out.println("clone"); FormulaVariable instance; FormulaVariable original; String result; String expResult; original=new FormulaVariable("Test1","Value1",FormulaVariable.TYPE_STRING,2,1); instance=original.clone(); original.setValue("Hi There"); expResult="Test1"; result=instance.getVariableName(); assertTrue("Was: <"+result+"> Expected: <"+expResult+">",expResult.equals(result)); expResult="Value1"; result=instance.getString(); assertTrue("Was: <"+result+"> Expected: <"+expResult+">",expResult.equals(result)); expResult="Hi There"; result=original.getString(); assertTrue("Was: <"+result+"> Expected: <"+expResult+">",expResult.equals(result)); assertEquals(FormulaVariable.TYPE_STRING,instance.getVariableType()); assertEquals(2,instance.getScale()); assertEquals(1,instance.getLevel()); } /** *Test of TestIsComparatorOperator method, of class com.accountingenhancements.formula.FormulaVariable. */ public void testTestIscomparatorOperator(){ System.out.println("testIsComparatorOperator"); int index=0; for(index=0;index Expected: <00123456789>",instance.getString().equals("00123456789")); instance = new FormulaVariable("","\"00123456789\"",0,false); assertEquals(false,instance.getStripSurroundingQuotesFromStrings()); assertTrue("Was: <"+instance.getString()+"> Expected: <\"00123456789\">",instance.getString().equals("\"00123456789\"")); } /** *Test of solve method, of class com.accountingenhancements.formula.FormulaVariable */ public void testSolve()throws Exception{ System.out.println("solve"); FormulaVariableList variableList=new FormulaVariableList(); variableList.addValue("CurrentDate","7/14/2006",0); variableList.addValue("BirthDate","1/3/2001",2); FormulaVariable formula = new FormulaVariable("","\"You Are \"+(currentDate - birthDate)+\" days old.\"",0,true); assertEquals(FormulaVariable.TYPE_STRING,formula.solve(variableList,0,null,null,10).getVariableType()); assertEquals("You Are 2017 days old.",formula.solve(variableList,0,null,null,10).toString()); variableList.getVariable("birthdate").setValue("1/4/2001"); assertEquals("You Are 2017 days old.",formula.solve(variableList,0,null,null,10).toString()); assertEquals("You Are 2016 days old.",formula.solve(variableList,0,null,null,1).toString()); } /** *Test of purgeResultsGreaterThanSpecifiedLevel, of class com.accountingenhancements.formula.FormulaVariable */ public void testPurgeResultsGreaterThanSpecifiedLevel()throws Exception{ System.out.println("purgeResultsInStackGreaterThanSpecifiedLevel"); FormulaVariableList variableList=new FormulaVariableList(); variableList.addValue("CurrentDate","7/14/2006",0); variableList.addValue("BirthDate","1/3/2001",2); FormulaVariable formula = new FormulaVariable("","\"You Are \"+(currentDate - birthDate)+\" days old.\"",0,true); assertEquals(FormulaVariable.TYPE_STRING,formula.solve(variableList,0,null,null,10).getVariableType()); assertEquals("You Are 2017 days old.",formula.solve(variableList,0,null,null,10).toString()); variableList.getVariable("birthdate").setValue("1/4/2001"); assertEquals("You Are 2017 days old.",formula.solve(variableList,0,null,null,10).toString()); formula.purgeResultsGreaterThanSpecifiedLevel(3); assertEquals("You Are 2017 days old.",formula.solve(variableList,0,null,null,10).toString()); assertEquals(2,formula.highestLevel); formula.purgeResultsGreaterThanSpecifiedLevel(1); assertEquals(-1,formula.highestLevel); assertEquals("You Are 2016 days old.",formula.solve(variableList,0,null,null,10).toString()); } }