/* * FormulaFunction_DateAddTest.java * JUnit based test * * Created on August 9, 2006, 9:50 AM */ package com.accountingenhancements.formula; import com.accountingenhancements.common.SupportParameters; import junit.framework.*; import java.text.ParseException; import java.util.HashMap; /** * * @author lofgren */ public class FormulaFunction_DateAddTest extends TestCase { public FormulaFunction_DateAddTest(String testName) { super(testName); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } public static Test suite() { TestSuite suite = new TestSuite(FormulaFunction_DateAddTest.class); return suite; } /** * Test of solve method, of class com.accountingenhancements.formula.FormulaFunction_DateAdd. */ public void testFunction() throws Exception { System.out.println("function"); FormulaVariableList variableList = null; int iteration = 0; SupportParameters supportParameters = null; FormulaFunctionList functionList = null; int resolveEverythingAboveLevel = 0; FormulaVariable result; FormulaFunction instance = null; instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"d\",1,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/04/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"d\",12,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/15/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"dayOfYear\",12,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/15/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"weekday\",12,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/15/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"week\",2,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/17/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"year\",2,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/03/2006",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"q\",2,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("08/03/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"m\",2,2/3/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("04/03/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"m\",1,1/31/04)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/29/2004",result.getString()); instance = new FormulaFunction_DateAdd(new FormulaVariable("","DateAdd(\"m\",1,1/31/05)",0,true)); result = instance.function(variableList, iteration, supportParameters, functionList, resolveEverythingAboveLevel); assertEquals("02/28/2005",result.getString()); } /** * Test of getName method, of class com.accountingenhancements.formula.FormulaFunction_DateAdd. */ public void testGetName()throws Exception { System.out.println("getName"); Class thisClass = Class.forName("com.accountingenhancements.formula.FormulaFunction_DateAdd"); String expResult = "DateAdd"; String result = (String)thisClass.getMethod("getName").invoke(thisClass); assertTrue("Was: <"+result+"> Expected: <"+expResult+">",expResult.equals(result)); } /** * Test of getRequiredSupportParameters method, of class com.accountingenhancements.formula.FormulaFunction_DateAdd. */ public void testGetRequiredSupportParameters()throws Exception { System.out.println("getRequiredSupportParameters"); String[][] result = FormulaFunction_DateAdd.getRequiredSupportParameters(); assertEquals(0, result.length); } /** * Test of getRequiredFormulaVariables method, of class com.accountingenhancements.formula.FormulaFunction_DateAdd. */ public void testGetRequiredFormulaVariables()throws Exception { System.out.println("getRequiredFormulaVariables"); String[][] result = FormulaFunction_DateAdd.getRequiredFormulaVariables(); assertEquals(0, result.length); } /** * Test of getRequiredArguments method, of class com.accountingenhancements.formula.FormulaFunction_DateAdd. */ public void testGetRequiredArguments()throws Exception { System.out.println("getRequiredArguments"); int i1,i2; String[][] requiredArguments = {{"ARG1: The Interval to be changed. [Year, Quarter (4 per year), Month (12 per year), DayOfYear (365 or 366 per year), Day (28, 29, 30, or 31 per month, treated like DayOfYear) , Weekday (7 per week, treated like DayOfYear), Week (a little over 52 per year)]","TYPE_STRING"},{"ARG2: The value added (or subtracted) from the date","TYPE_LONG"},{"ARG3: The Date","TYPE_DATE"}}; String expResult = null; String[][] result = FormulaFunction_DateAdd.getRequiredArguments(); for(i1=0;i1