%META:TOPICINFO{author="TWikiContributor" date="1508452958" format="1.1" version="5"}% ---+ !SpreadSheetPlugin Testing Use this topic to verify proper operation of the SpreadSheetPlugin in your environment. For developers: This topic is included by TestCases.TestCaseAutoSpreadSheetPlugin for automated integration testing. This requires the TWiki:Plugins.TestFixturePlugin and a repository checkout. ---++ CALC{} and CALCULATE{}
---+++ Expected
  • CALC{$REPLACE(1234, 2, 1, X)}=|1X34|
  • CALCULATE{$REPLACE(1234, 2, 1, X)}=|1X34|
---+++ Actual * CALC{$REPLACE(1234, 2, 1, X)}=|%CALCULATE{$REPLACE(1234, 2, 1, X)}%| * CALCULATE{$REPLACE(1234, 2, 1, X)}=|%CALCULATE{$REPLACE(1234, 2, 1, X)}%|
__NOTE:__ All functions that follow are tested via: * CALC{} if reference is done to table cells * CALCULATE{} otherwise ---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncABOVE][ABOVE]]
---+++ Expected
A1 B1
A2 B2
$ABOVE()=R0:C1..R2:C1 $ABOVE()=R0:C2..R2:C2
---+++ Actual | A1 | B1 | | A2 | B2 | | $ABOVE()=%CALC{$ABOVE()}% | $ABOVE()=%CALC{$ABOVE()}% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncABS][ABS]]
---+++ Expected
  • $ABS(-2)=|2|
  • $ABS(-0.5)=|0.5|
  • $ABS(0)=|0|
  • $ABS(0.5)=|0.5|
  • $ABS(2)=|2|
---+++ Actual * $ABS(-2)=|%CALCULATE{$ABS(-2)}%| * $ABS(-0.5)=|%CALCULATE{$ABS(-0.5)}%| * $ABS(0)=|%CALCULATE{$ABS(0)}%| * $ABS(0.5)=|%CALCULATE{$ABS(0.5)}%| * $ABS(2)=|%CALCULATE{$ABS(2)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncADDLIST][ADDLIST]]
---+++ Expected
  • $SETLIST(test)=||
  • $ADDLIST(test, 1, 2)=||
  • $GETLIST(test)=|1, 2|
  • $ADDLIST(test, 3, 4)=||
  • $GETLIST(test)=|1, 2, 3, 4|
  • $ADDLIST(novalue)=||
  • $GETLIST(novalue)=||
  • $ADDLIST()=||
---+++ Actual * $SETLIST(test)=|%CALCULATE{$SETLIST(test)}%| * $ADDLIST(test, 1, 2)=|%CALCULATE{$ADDLIST(test, 1, 2)}%| * $GETLIST(test)=|%CALCULATE{$GETLIST(test)}%| * $ADDLIST(test, 3, 4)=|%CALCULATE{$ADDLIST(test, 3, 4)}%| * $GETLIST(test)=|%CALCULATE{$GETLIST(test)}%| * $ADDLIST(novalue)=|%CALCULATE{$ADDLIST(novalue)}%| * $GETLIST(novalue)=|%CALCULATE{$GETLIST(novalue)}%| * $ADDLIST()=|%CALCULATE{$ADDLIST()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncAND][AND]]
---+++ Expected
  • $AND()=|0|
  • $AND(0)=|0|
  • $AND(1)=|1|
  • $AND(0, 0)=|0|
  • $AND(0, 1)=|0|
  • $AND(1, 0)=|0|
  • $AND(1, 1)=|1|
  • $AND(0, 1, 2, 3)=|0|
  • $AND(1, 2, 3, 4)=|1|
---+++ Actual * $AND()=|%CALCULATE{$AND(0)}%| * $AND(0)=|%CALCULATE{$AND(0)}%| * $AND(1)=|%CALCULATE{$AND(1)}%| * $AND(0, 0)=|%CALCULATE{$AND(0, 0)}%| * $AND(0, 1)=|%CALCULATE{$AND(0, 1)}%| * $AND(1, 0)=|%CALCULATE{$AND(1, 0)}%| * $AND(1, 1)=|%CALCULATE{$AND(1, 1)}%| * $AND(0, 1, 2, 3)=|%CALCULATE{$AND(0, 1, 2, 3)}%| * $AND(1, 2, 3, 4)=|%CALCULATE{$AND(1, 2, 3, 4)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncAVERAGE][AVERAGE]]
---+++ Expected
  • $AVERAGE()=|0|
  • $AVERAGE(x)=|0|
  • $AVERAGE(0)=|0|
  • $AVERAGE(0, 1)=|0.5|
  • $AVERAGE(0, 1, 2)=|1|
  • $AVERAGE(1.5, 2, 2.5)=|2|
  • $AVERAGE(-1.5, 2, 2.5)=|1|
---+++ Actual * $AVERAGE()=|%CALCULATE{$AVERAGE()}%| * $AVERAGE(x)=|%CALCULATE{$AVERAGE(x)}%| * $AVERAGE(0)=|%CALCULATE{$AVERAGE(0)}%| * $AVERAGE(0, 1)=|%CALCULATE{$AVERAGE(0, 1)}%| * $AVERAGE(0, 1, 2)=|%CALCULATE{$AVERAGE(0, 1, 2)}%| * $AVERAGE(1.5, 2, 2.5)=|%CALCULATE{$AVERAGE(1.5, 2, 2.5)}%| * $AVERAGE(-1.5, 2, 2.5)=|%CALCULATE{$AVERAGE(-1.5, 2, 2.5)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncBIN2DEC][BIN2DEC]]
---+++ Expected
  • $BIN2DEC(1100100)=|100|
  • $BIN2DEC(1010101010101010101)=|349525|
  • $BIN2DEC()=|0|
---+++ Actual * $BIN2DEC(1100100)=|%CALCULATE{$BIN2DEC(1100100)}%| * $BIN2DEC(1010101010101010101)=|%CALCULATE{$BIN2DEC(1010101010101010101)}%| * $BIN2DEC()=|%CALCULATE{$BIN2DEC()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncBITXOR][BITXOR]]
---+++ Expected
  • $BITXOR()=||
  • $BITXOR(A123)=|¾ÎÍÌ|
  • $BITXOR($BITXOR(anything))=|anything|
---+++ Actual * $BITXOR()=|%CALCULATE{$BITXOR()}%| * $BITXOR(A123)=|%CALCULATE{$BITXOR(A123)}%| * $BITXOR($BITXOR(anything))=|%CALCULATE{$BITXOR($BITXOR(anything))}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncCEILING][CEILING]]
---+++ Expected
  • $CEILING(5.4)=|6|
  • $CEILING(-5.4)=|-5|
---+++ Actual * $CEILING(5.4)=|%CALCULATE{$CEILING(5.4)}%| * $CEILING(-5.4)=|%CALCULATE{$CEILING(-5.4)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncCHAR][CHAR]]
---+++ Expected
  • $CHAR(97)=|a|
---+++ Actual * $CHAR(97)=|%CALCULATE{$CHAR(97)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncCODE][CODE]]
---+++ Expected
  • $CODE(abc)=|97|
---+++ Actual * $CODE(abc)=|%CALCULATE{$CODE(abc)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncCOLUMN][COLUMN]]
---+++ Expected
$COLUMN()=1 $COLUMN()=2
$COLUMN()=1 $COLUMN()=2
$COLUMN()=1 $COLUMN()=2
---+++ Actual | $COLUMN()=%CALC{$COLUMN()}% | $COLUMN()=%CALC{$COLUMN()}% | | $COLUMN()=%CALC{$COLUMN()}% | $COLUMN()=%CALC{$COLUMN()}% | | $COLUMN()=%CALC{$COLUMN()}% | $COLUMN()=%CALC{$COLUMN()}% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncCOUNTITEMS][COUNTITEMS]]
---+++ Expected
  • $COUNTITEMS(One)=|One: 1|
  • $COUNTITEMS(One, Two)=|One: 1
    Two: 1|
  • $COUNTITEMS(One, Two, One)=|One: 2
    Two: 1|
---+++ Actual * $COUNTITEMS(One)=|%CALCULATE{$COUNTITEMS(One)}%| * $COUNTITEMS(One, Two)=|%CALCULATE{$COUNTITEMS(One, Two)}%| * $COUNTITEMS(One, Two, One)=|%CALCULATE{$COUNTITEMS(One, Two, One)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncCOUNTSTR][COUNTSTR]]
---+++ Expected
  • $COUNTSTR(Done, , Done, OK, )=|3|
  • $COUNTSTR(Done, , Done, OK, Done)=|2|
---+++ Actual * $COUNTSTR(Done, , Done, OK, )=|%CALCULATE{$COUNTSTR(Done, , Done, OK, )}%| * $COUNTSTR(Done, , Done, OK, Done)=|%CALCULATE{$COUNTSTR(Done, , Done, OK, Done)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncDEC2BIN][DEC2BIN]]
---+++ Expected
  • $DEC2BIN(9)=|1001|
  • $DEC2BIN(9, 6)=|001001|
  • $DEC2BIN()=|0|
---+++ Actual * $DEC2BIN(9)=|%CALCULATE{$DEC2BIN(9)}%| * $DEC2BIN(9, 6)=|%CALCULATE{$DEC2BIN(9, 6)}%| * $DEC2BIN()=|%CALCULATE{$DEC2BIN()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncDEC2HEX][DEC2HEX]]
---+++ Expected
  • $DEC2HEX(165)=|A5|
  • $DEC2HEX(100, 4)=|0064|
  • $DEC2HEX()=|0|
---+++ Actual * $DEC2HEX(165)=|%CALCULATE{$DEC2HEX(165)}%| * $DEC2HEX(100, 4)=|%CALCULATE{$DEC2HEX(100, 4)}%| * $DEC2HEX()=|%CALCULATE{$DEC2HEX()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncDEC2OCT][DEC2OCT]]
---+++ Expected
  • $DEC2OCT(58)=|72|
  • $DEC2OCT(58, 3)=|072|
  • $DEC2OCT()=|0|
---+++ Actual * $DEC2OCT(58)=|%CALCULATE{$DEC2OCT(58)}%| * $DEC2OCT(58, 3)=|%CALCULATE{$DEC2OCT(58, 3)}%| * $DEC2OCT()=|%CALCULATE{$DEC2OCT()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncDEF][DEF]]
---+++ Expected
  • $DEF(One, Two, Three)=|One|
  • $DEF(, Two, Three)=|Two|
  • $DEF(, , Three)=|Three|
  • $DEF(, , )=||
---+++ Actual * $DEF(One, Two, Three)=|%CALCULATE{$DEF(One, Two, Three)}%| * $DEF(, Two, Three)=|%CALCULATE{$DEF(, Two, Three)}%| * $DEF(, , Three)=|%CALCULATE{$DEF(, , Three)}%| * $DEF(, , )=|%CALCULATE{$DEF(, , )}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEMPTY][EMPTY]]
---+++ Expected
  • $EMPTY()=|1|
  • $EMPTY( )=|0|
  • $EMPTY(foo)=|0|
---+++ Actual * $EMPTY()=|%CALCULATE{$EMPTY()}%| * $EMPTY( )=|%CALCULATE{$EMPTY( )}%| * $EMPTY(foo)=|%CALCULATE{$EMPTY(foo)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEQUAL][EQUAL]]
---+++ Expected
  • $EQUAL(foo, foo)=|1|
  • $EQUAL(foo, Foo)=|1|
  • $EQUAL(foo, bar)=|0|
---+++ Actual * $EQUAL(foo, foo)=|%CALCULATE{$EQUAL(foo, foo)}%| * $EQUAL(foo, Foo)=|%CALCULATE{$EQUAL(foo, Foo)}%| * $EQUAL(foo, bar)=|%CALCULATE{$EQUAL(foo, bar)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEVAL][EVAL]]
---+++ Expected
  • $EVAL( (5 * 3) / 2 + 1.1 )=|8.6|
---+++ Actual * $EVAL( (5 * 3) / 2 + 1.1 )=|%CALCULATE{$EVAL( (5 * 3) / 2 + 1.1 )}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEVEN][EVEN]]
---+++ Expected
  • $EVEN()=|1|
  • $EVEN(-1)=|0|
  • $EVEN(0)=|1|
  • $EVEN(1)=|0|
  • $EVEN(2)=|1|
  • $EVEN(3.4)=|0|
  • $EVEN(4.4)=|1|
  • $EVEN(4.6)=|1|
---+++ Actual * $EVEN()=|%CALCULATE{$EVEN()}%| * $EVEN(-1)=|%CALCULATE{$EVEN(-1)}%| * $EVEN(0)=|%CALCULATE{$EVEN(0)}%| * $EVEN(1)=|%CALCULATE{$EVEN(1)}%| * $EVEN(2)=|%CALCULATE{$EVEN(2)}%| * $EVEN(3.4)=|%CALCULATE{$EVEN(3.4)}%| * $EVEN(4.4)=|%CALCULATE{$EVEN(4.4)}%| * $EVEN(4.6)=|%CALCULATE{$EVEN(4.6)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEXACT][EXACT]]
---+++ Expected
  • $EXACT(foo, Foo)=|0|
  • $EXACT(foo, $LOWER(Foo))=|1|
---+++ Actual * $EXACT(foo, Foo)=|%CALCULATE{$EXACT(foo, Foo)}%| * $EXACT(foo, $LOWER(Foo))=|%CALCULATE{$EXACT(foo, $LOWER(Foo))}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEXEC][EXEC]]
---+++ Expected
  • $SET(msg, $NOEXEC(Hi $GET(name)))=||
  • $EXEC($SET(name, Tom) $EXEC($GET(msg)))=| Hi Tom|
  • $EXEC($SET(name, Jerry) $EXEC($GET(msg)))=| Hi Jerry|
---+++ Actual * $SET(msg, $NOEXEC(Hi $GET(name)))=|%CALCULATE{$SET(msg, $NOEXEC(Hi $GET(name)))}%| * $EXEC($SET(name, Tom) $EXEC($GET(msg)))=|%CALCULATE{$EXEC($SET(name, Tom) $EXEC($GET(msg)))}%| * $EXEC($SET(name, Jerry) $EXEC($GET(msg)))=|%CALCULATE{$EXEC($SET(name, Jerry) $EXEC($GET(msg)))}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEXISTS][EXISTS]]
---+++ Expected
  • $EXISTS(WebHome)=|1|
  • $EXISTS(ThisDoesNotExist)=|0|
---+++ Actual * $EXISTS(WebHome)=|%CALCULATE{$EXISTS(WebHome)}%| * $EXISTS(ThisDoesNotExist)=|%CALCULATE{$EXISTS(ThisDoesNotExist)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncEXP][EXP]]
---+++ Expected
  • $EXP(1)=|2.71828182845905|
---+++ Actual * $EXP(1)=|%CALCULATE{$EXP(1)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFILTER][FILTER]]
---+++ Expected
  • $FILTER(f, fluffy)=|luy|
  • $FILTER(an Franc, San Francisco)=|Sisco|
  • $FILTER($sp, Cat and Mouse)=|CatandMouse|
  • $FILTER([^0-9], Project-ID-1234)=|1234|
  • $FILTER([^a-zA-Z0-9 ], Stupid mistake*%@^! Fixed)=|Stupid mistake Fixed|
---+++ Actual * $FILTER(f, fluffy)=|%CALCULATE{$FILTER(f, fluffy)}%| * $FILTER(an Franc, San Francisco)=|%CALCULATE{$FILTER(an Franc, San Francisco)}%| * $FILTER($sp, Cat and Mouse)=|%CALCULATE{$FILTER($sp, Cat and Mouse)}%| * $FILTER([^0-9], Project-ID-1234)=|%CALCULATE{$FILTER([^0-9], Project-ID-1234)}%| * $FILTER([^a-zA-Z0-9 ], Stupid mistake*%@^! Fixed)=|%CALCULATE{$FILTER([^a-zA-Z0-9 ], Stupid mistake*%@^! Fixed)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFIND][FIND]]
---+++ Expected
  • $FIND(f, fluffy)=|1|
  • $FIND(f, fluffy, 2)=|4|
  • $FIND(x, fluffy, 1)=|0|
---+++ Actual * $FIND(f, fluffy)=|%CALCULATE{$FIND(f, fluffy)}%| * $FIND(f, fluffy, 2)=|%CALCULATE{$FIND(f, fluffy, 2)}%| * $FIND(x, fluffy, 1)=|%CALCULATE{$FIND(x, fluffy, 1)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFLOOR][FLOOR]]
---+++ Expected
  • $FLOOR(5.4)=|5|
  • $FLOOR(-5.4)=|-6|
---+++ Actual * $FLOOR(5.4)=|%CALCULATE{$FLOOR(5.4)}%| * $FLOOR(-5.4)=|%CALCULATE{$FLOOR(-5.4)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFORMAT][FORMAT]]
---+++ Expected
  • $FORMAT(COMMA, 2, 12345.6789)=|12,345.68|
  • $FORMAT(DOLLAR, 2, 12345.6789)=|$12,345.68|
  • $FORMAT(KB, 2, 1234567)=|1205.63 KB|
  • $FORMAT(MB, 2, 1234567)=|1.18 MB|
  • $FORMAT(KBMB, 2, 1234567)=|1.18 MB|
  • $FORMAT(KBMB, 2, 1234567890)=|1.15 GB|
  • $FORMAT(NUMBER, 1, 12345.67)=|12345.7|
  • $FORMAT(PERCENT, 1, 0.1234567)=|12.3%|
---+++ Actual * $FORMAT(COMMA, 2, 12345.6789)=|%CALCULATE{$FORMAT(COMMA, 2, 12345.6789)}%| * $FORMAT(DOLLAR, 2, 12345.6789)=|%CALCULATE{$FORMAT(DOLLAR, 2, 12345.6789)}%| * $FORMAT(KB, 2, 1234567)=|%CALCULATE{$FORMAT(KB, 2, 1234567)}%| * $FORMAT(MB, 2, 1234567)=|%CALCULATE{$FORMAT(MB, 2, 1234567)}%| * $FORMAT(KBMB, 2, 1234567)=|%CALCULATE{$FORMAT(KBMB, 2, 1234567)}%| * $FORMAT(KBMB, 2, 1234567890)=|%CALCULATE{$FORMAT(KBMB, 2, 1234567890)}%| * $FORMAT(NUMBER, 1, 12345.67)=|%CALCULATE{$FORMAT(NUMBER, 1, 12345.67)}%| * $FORMAT(PERCENT, 1, 0.1234567)=|%CALCULATE{$FORMAT(PERCENT, 1, 0.1234567)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFORMATGMTIME][FORMATGMTIME]]
---+++ Expected
  • $FORMATGMTIME(1041379200, $day $mon $year)=|01 Jan 2003|
---+++ Actual * $FORMATGMTIME(1041379200, $day $mon $year)=|%CALCULATE{$FORMATGMTIME(1041379200, $day $mon $year)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFORMATTIME][FORMATTIME]]
---+++ Expected
  • $FORMATTIME(0, $year/$month/$day GMT)=|1970/01/01 GMT|
---+++ Actual * $FORMATTIME(0, $year/$month/$day GMT)=|%CALCULATE{$FORMATTIME(0, $year/$month/$day GMT)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncFORMATTIMEDIFF][FORMATTIMEDIFF]]
---+++ Expected
  • $FORMATTIMEDIFF(min, 1, 200)=|3 hours|
  • $FORMATTIMEDIFF(min, 2, 200)=|3 hours and 20 minutes|
  • $FORMATTIMEDIFF(min, 1, 1640)=|1 day|
  • $FORMATTIMEDIFF(min, 2, 1640)=|1 day and 3 hours|
  • $FORMATTIMEDIFF(min, 3, 1640)=|1 day, 3 hours and 20 minutes|
---+++ Actual * $FORMATTIMEDIFF(min, 1, 200)=|%CALCULATE{$FORMATTIMEDIFF(min, 1, 200)}%| * $FORMATTIMEDIFF(min, 2, 200)=|%CALCULATE{$FORMATTIMEDIFF(min, 2, 200)}%| * $FORMATTIMEDIFF(min, 1, 1640)=|%CALCULATE{$FORMATTIMEDIFF(min, 1, 1640)}%| * $FORMATTIMEDIFF(min, 2, 1640)=|%CALCULATE{$FORMATTIMEDIFF(min, 2, 1640)}%| * $FORMATTIMEDIFF(min, 3, 1640)=|%CALCULATE{$FORMATTIMEDIFF(min, 3, 1640)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncGET][GET]]
---+++ Expected
  • $SET(test, 1234)=||
  • $GET(test)=|1234|
  • $GET()=||
---+++ Actual * $SET(test, 1234)=|%CALCULATE{$SET(test, 1234)}%| * $GET(test)=|%CALCULATE{$GET(test)}%| * $GET()=|%CALCULATE{$GET()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncGETHASH][GETHASH]]
---+++ Expected
  • $SETHASH()=||
  • $SETHASH(age, Jane, 26)=||
  • $SETHASH(age, Tim, 27)=||
  • $SETHASH(sex, Jane, F)=||
  • $SETHASH(sex, Tim, M)=||
  • $GETHASH(age, Jane)=|26|
  • $SETHASH(age, Jane)=||
  • $GETHASH(age, Jane)=||
  • $GETHASH(sex)=|Jane, Tim|
  • $GETHASH(foo, bar)=||
  • $GETHASH(foo)=||
  • $GETHASH()=|age, sex|
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $SETHASH(age, Jane, 26)=|%CALCULATE{$SETHASH(age, Jane, 26)}%| * $SETHASH(age, Tim, 27)=|%CALCULATE{$SETHASH(age, Tim, 27)}%| * $SETHASH(sex, Jane, F)=|%CALCULATE{$SETHASH(sex, Jane, F)}%| * $SETHASH(sex, Tim, M)=|%CALCULATE{$SETHASH(sex, Tim, M)}%| * $GETHASH(age, Jane)=|%CALCULATE{$GETHASH(age, Jane)}%| * $SETHASH(age, Jane)=|%CALCULATE{$SETHASH(age, Jane)}%| * $GETHASH(age, Jane)=|%CALCULATE{$GETHASH(age, Jane)}%| * $GETHASH(sex)=|%CALCULATE{$GETHASH(sex)}%| * $GETHASH(foo, bar)=|%CALCULATE{$GETHASH(foo, bar)}%| * $GETHASH(foo)=|%CALCULATE{$GETHASH(foo)}%| * $GETHASH()=|%CALCULATE{$GETHASH()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncGETLIST][GETLIST]]
---+++ Expected
  • $SETLIST(test, 1, 2, 3, 4)=||
  • $GETLIST(test)=|1, 2, 3, 4|
  • $GETLIST()=||
---+++ Actual * $SETLIST(test, 1, 2, 3, 4)=|%CALCULATE{$SETLIST(test, 1, 2, 3, 4)}%| * $GETLIST(test)=|%CALCULATE{$GETLIST(test)}%| * $GETLIST()=|%CALCULATE{$GETLIST()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHASH2LIST][HASH2LIST]]
---+++ Expected
  • $SETHASH()=||
  • $LIST2HASH(age, Jane, 26, Tim, 27)=||
  • $HASH2LIST(age)=|Jane, 26, Tim, 27|
  • $HASH2LIST(age, $key is $value)=|Jane is 26, Tim is 27|
  • $HASH2LIST(age, $key)=|Jane, Tim|
  • $HASH2LIST(age, $value)=|26, 27|
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $LIST2HASH(age, Jane, 26, Tim, 27)=|%CALCULATE{$LIST2HASH(age, Jane, 26, Tim, 27)}%| * $HASH2LIST(age)=|%CALCULATE{$HASH2LIST(age)}%| * $HASH2LIST(age, $key is $value)=|%CALCULATE{$HASH2LIST(age, $key is $value)}%| * $HASH2LIST(age, $key)=|%CALCULATE{$HASH2LIST(age, $key)}%| * $HASH2LIST(age, $value)=|%CALCULATE{$HASH2LIST(age, $value)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHASHCOPY][HASHCOPY]]
---+++ Expected
  • $SETHASH()=||
  • $LIST2HASH(age, Jane, 26, Tim, 27, Sam, 27)=||
  • $HASHCOPY(age, new)=||
  • $SETHASH(age, Old, 95)=||
  • $SETHASH(new, New, 1)=||
  • $HASH2LIST(age, $key: $value)=|Jane: 26, Old: 95, Sam: 27, Tim: 27|
  • $HASH2LIST(new, $key: $value)=|Jane: 26, New: 1, Sam: 27, Tim: 27|
  • $HASHCOPY(age)=||
  • $HASHCOPY()=||
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $LIST2HASH(age, Jane, 26, Tim, 27, Sam, 27)=|%CALCULATE{$LIST2HASH(age, Jane, 26, Tim, 27, Sam, 27)}%| * $HASHCOPY(age, new)=|%CALCULATE{$HASHCOPY(age, new)}%| * $SETHASH(age, Old, 95)=|%CALCULATE{$SETHASH(age, Old, 95)}%| * $SETHASH(new, New, 1)=|%CALCULATE{$SETHASH(new, New, 1)}%| * $HASH2LIST(age, $key: $value)=|%CALCULATE{$HASH2LIST(age, $key: $value)}%| * $HASH2LIST(new, $key: $value)=|%CALCULATE{$HASH2LIST(new, $key: $value)}%| * $HASHCOPY(age)=|%CALCULATE{$HASHCOPY(age)}%| * $HASHCOPY()=|%CALCULATE{$HASHCOPY()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHASHEACH][HASHEACH]]
---+++ Expected
  • $SETHASH()=||
  • $LIST2HASH(age, Jane, 26, Tim, 27)=||
  • $HASHEACH($key is $INT($value * 2 + $index), age)=||
  • $HASH2LIST(age, $key: $value)=|Jane: Jane is 53, Tim: Tim is 56|
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $LIST2HASH(age, Jane, 26, Tim, 27)=|%CALCULATE{$LIST2HASH(age, Jane, 26, Tim, 27)}%| * $HASHEACH($key is $INT($value * 2 + $index), age)=|%CALCULATE{$HASHEACH($key is $INT($value * 2 + $index), age)}%| * $HASH2LIST(age, $key: $value)=|%CALCULATE{$HASH2LIST(age, $key: $value)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHASHEXISTS][HASHEXISTS]]
---+++ Expected
  • $SETHASH()=||
  • $LIST2HASH(age, Jane, 26, Tim, 27)=||
  • $HASHEXISTS(age)=|1|
  • $HASHEXISTS(age, Jane)=|1|
  • $HASHEXISTS(age, Blake)=|0|
  • $HASHEXISTS(height)=|0|
  • $HASHEXISTS()=|0|
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $LIST2HASH(age, Jane, 26, Tim, 27)=|%CALCULATE{$LIST2HASH(age, Jane, 26, Tim, 27)}%| * $HASHEXISTS(age)=|%CALCULATE{$HASHEXISTS(age)}%| * $HASHEXISTS(age, Jane)=|%CALCULATE{$HASHEXISTS(age, Jane)}%| * $HASHEXISTS(age, Blake)=|%CALCULATE{$HASHEXISTS(age, Blake)}%| * $HASHEXISTS(height)=|%CALCULATE{$HASHEXISTS(height)}%| * $HASHEXISTS()=|%CALCULATE{$HASHEXISTS()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHASHREVERSE][HASHREVERSE]]
---+++ Expected
  • $SETHASH()=||
  • $LIST2HASH(age, Jane, 26, Tim, 27, Sam, 28)=||
  • $HASHREVERSE(age)=||
  • $HASH2LIST(age, $key: $value)=|26: Jane, 27: Tim, 28: Sam|
  • $HASHREVERSE(height)=||
  • $HASH2LIST(height)=||
  • $HASHREVERSE()=||
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $LIST2HASH(age, Jane, 26, Tim, 27, Sam, 28)=|%CALCULATE{$LIST2HASH(age, Jane, 26, Tim, 27, Sam, 28)}%| * $HASHREVERSE(age)=|%CALCULATE{$HASHREVERSE(age)}%| * $HASH2LIST(age, $key: $value)=|%CALCULATE{$HASH2LIST(age, $key: $value)}%| * $HASHREVERSE(height)=|%CALCULATE{$HASHREVERSE(height)}%| * $HASH2LIST(height)=|%CALCULATE{$HASH2LIST(height)}%| * $HASHREVERSE()=|%CALCULATE{$HASHREVERSE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHEX2DEC][HEX2DEC]]
---+++ Expected
  • $HEX2DEC(A5)=|165|
  • $HEX2DEC(3DA408B9)=|1034160313|
  • $HEX2DEC()=|0|
---+++ Actual * $HEX2DEC(A5)=|%CALCULATE{$HEX2DEC(A5)}%| * $HEX2DEC(3DA408B9)=|%CALCULATE{$HEX2DEC(3DA408B9)}%| * $HEX2DEC()=|%CALCULATE{$HEX2DEC()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHEXDECODE][HEXDECODE]]
---+++ Expected
  • $HEXDECODE(687474703A2F2F7477696B692E6F72672F)=|http://twiki.org/|
---+++ Actual * $HEXDECODE(687474703A2F2F7477696B692E6F72672F)=|%CALCULATE{$HEXDECODE(687474703A2F2F7477696B692E6F72672F)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncHEXENCODE][HEXENCODE]]
---+++ Expected
  • $HEXENCODE(http://twiki.org/)=|687474703A2F2F7477696B692E6F72672F|
---+++ Actual * $HEXENCODE(http://twiki.org/)=|%CALCULATE{$HEXENCODE(http://twiki.org/)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncIF][IF]]
---+++ Expected
  • $SET(test_number, 123)=||
  • $IF($GET(test_number)>100, greater)=|greater|
  • $SET(test_string, San Francisco)=||
  • $IF($EXACT($GET(test_string), Cupertino), equal, not equal)=|not equal|
  • $SET(result, $IF($GET(test_number)==0, zero, $GET(test_number)))=||
  • $GET(result)=|123|
---+++ Actual * $SET(test_number, 123)=|%CALCULATE{$SET(test_number, 123)}%| * $IF($GET(test_number)>100, greater)=|%CALCULATE{$IF($GET(test_number)>100, greater)}%| * $SET(test_string, San Francisco)=|%CALCULATE{$SET(test_string, San Francisco)}%| * $IF($EXACT($GET(test_string), Cupertino), equal, not equal)=|%CALCULATE{$IF($EXACT($GET(test_string), Cupertino), equal, not equal)}%| * $SET(result, $IF($GET(test_number)==0, zero, $GET(test_number)))=|%CALCULATE{$SET(result, $IF($GET(test_number)==0, zero, $GET(test_number)))}%| * $GET(result)=|%CALCULATE{$GET(result)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncINSERTSTRING][INSERTSTRING]]
---+++ Expected
  • $INSERTSTRING(abcdefg, 2, XYZ)=|abXYZcdefg|
  • $INSERTSTRING(abcdefg, -2, XYZ)=|abcdeXYZfg|
---+++ Actual * $INSERTSTRING(abcdefg, 2, XYZ)=|%CALCULATE{$INSERTSTRING(abcdefg, 2, XYZ)}%| * $INSERTSTRING(abcdefg, -2, XYZ)=|%CALCULATE{$INSERTSTRING(abcdefg, -2, XYZ)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncINT][INT]]
---+++ Expected
  • $INT(10 / 4)=|2|
  • $INT($VALUE(09))=|9|
---+++ Actual * $INT(10 / 4)=|%CALCULATE{$INT(10 / 4)}%| * $INT($VALUE(09))=|%CALCULATE{$INT($VALUE(09))}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncISDIGIT][ISDIGIT]]
---+++ Expected
  • $ISDIGIT(123)=|1|
  • $ISDIGIT(-7)=|0|
  • $ISDIGIT(abc123)=|0|
  • $ISDIGIT()=|0|
---+++ Actual * $ISDIGIT(123)=|%CALCULATE{$ISDIGIT(123)}%| * $ISDIGIT(-7)=|%CALCULATE{$ISDIGIT(-7)}%| * $ISDIGIT(abc123)=|%CALCULATE{$ISDIGIT(abc123)}%| * $ISDIGIT()=|%CALCULATE{$ISDIGIT()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncISLOWER][ISLOWER]]
---+++ Expected
  • $ISLOWER(apple)=|1|
  • $ISLOWER(apple tree)=|0|
  • $ISLOWER(ORANGE)=|0|
---+++ Actual * $ISLOWER(apple)=|%CALCULATE{$ISLOWER(apple)}%| * $ISLOWER(apple tree)=|%CALCULATE{$ISLOWER(apple tree)}%| * $ISLOWER(ORANGE)=|%CALCULATE{$ISLOWER(ORANGE)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncISUPPER][ISUPPER]]
---+++ Expected
  • $ISUPPER(apple)=|0|
  • $ISUPPER(ORANGE)=|1|
  • $ISUPPER(ORANGE GARDEN)=|0|
---+++ Actual * $ISUPPER(apple)=|%CALCULATE{$ISUPPER(apple)}%| * $ISUPPER(ORANGE)=|%CALCULATE{$ISUPPER(ORANGE)}%| * $ISUPPER(ORANGE GARDEN)=|%CALCULATE{$ISUPPER(ORANGE GARDEN)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncISWIKIWORD][ISWIKIWORD]]
---+++ Expected
  • $ISWIKIWORD(GoldenGate)=|1|
  • $ISWIKIWORD(whiteRafting)=|0|
  • $ISWIKIWORD()=|0|
---+++ Actual * $ISWIKIWORD(GoldenGate)=|%CALCULATE{$ISWIKIWORD(GoldenGate)}%| * $ISWIKIWORD(whiteRafting)=|%CALCULATE{$ISWIKIWORD(whiteRafting)}%| * $ISWIKIWORD()=|%CALCULATE{$ISWIKIWORD()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLEFT][LEFT]]
---+++ Expected
1 2 $SUM($LEFT())=|3|
3 4 $SUM($LEFT())=|7|
---+++ Actual | 1 | 2 | $SUM($LEFT())=%VBAR%%CALC{$SUM($LEFT())}%%VBAR% | | 3 | 4 | $SUM($LEFT())=%VBAR%%CALC{$SUM($LEFT())}%%VBAR% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLEFTSTRING][LEFTSTRING]]
---+++ Expected
  • $LEFTSTRING(abcdefg)=|a|
  • $LEFTSTRING(abcdefg, 5)=|abcde|
  • $LEFTSTRING()=||
---+++ Actual * $LEFTSTRING(abcdefg)=|%CALCULATE{$LEFTSTRING(abcdefg)}%| * $LEFTSTRING(abcdefg, 5)=|%CALCULATE{$LEFTSTRING(abcdefg, 5)}%| * $LEFTSTRING()=|%CALCULATE{$LEFTSTRING()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLENGTH][LENGTH]]
---+++ Expected
  • $LENGTH(abcd)=|4|
  • $LENGTH()=|0|
---+++ Actual * $LENGTH(abcd)=|%CALCULATE{$LENGTH(abcd)}%| * $LENGTH()=|%CALCULATE{$LENGTH()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLIST][LIST]]
---+++ Expected
Apple Banana Citrus $LIST($LEFT())=|Apple, Banana, Citrus|
---+++ Actual | Apple | Banana | Citrus | $LIST($LEFT())=%VBAR%%CALC{$LIST($LEFT())}%%VBAR% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLIST2HASH][LIST2HASH]]
---+++ Expected
  • $SETHASH()=||
  • $LIST2HASH(age, Jane, 26, Tim, 27)=||
  • $GETHASH(age, Jane)=|26|
  • $GETHASH(age, Tim)=|27|
  • $LIST2HASH(age, Anna, 25, Empty, , Jane, 27, Zoltan)=||
  • $GETHASH(age, Jane)=|27|
  • $GETHASH(age, Empty)=||
  • $GETHASH(age, Tim)=|27|
  • $GETHASH(age)=|Anna, Empty, Jane, Tim|
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $LIST2HASH(age, Jane, 26, Tim, 27)=|%CALCULATE{$LIST2HASH(age, Jane, 26, Tim, 27)}%| * $GETHASH(age, Jane)=|%CALCULATE{$GETHASH(age, Jane)}%| * $GETHASH(age, Tim)=|%CALCULATE{$GETHASH(age, Tim)}%| * $LIST2HASH(age, Anna, 25, Empty, , Jane, 27, Zoltan)=|%CALCULATE{$LIST2HASH(age, Anna, 25, Empty, , Jane, 27, Zoltan)}%| * $GETHASH(age, Jane)=|%CALCULATE{$GETHASH(age, Jane)}%| * $GETHASH(age, Empty)=|%CALCULATE{$GETHASH(age, Empty)}%| * $GETHASH(age, Tim)=|%CALCULATE{$GETHASH(age, Tim)}%| * $GETHASH(age)=|%CALCULATE{$GETHASH(age)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTIF][LISTIF]]
---+++ Expected
  • $LISTIF($item > 12, 14, 7, 25)=|14, 25|
  • $LISTIF($NOT($EXACT($item,)), A, B, , E)=|A, B, E|
  • $LISTIF($index > 2, A, B, C, D)=|C, D|
---+++ Actual * $LISTIF($item > 12, 14, 7, 25)=|%CALCULATE{$LISTIF($item > 12, 14, 7, 25)}%| * $LISTIF($NOT($EXACT($item,)), A, B, , E)=|%CALCULATE{$LISTIF($NOT($EXACT($item,)), A, B, , E)}%| * $LISTIF($index > 2, A, B, C, D)=|%CALCULATE{$LISTIF($index > 2, A, B, C, D)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTITEM][LISTITEM]]
---+++ Expected
  • $LISTITEM(2, Apple, Orange, Apple, Kiwi)=|Orange|
  • $LISTITEM(-1, Apple, Orange, Apple, Kiwi)=|Kiwi|
---+++ Actual * $LISTITEM(2, Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTITEM(2, Apple, Orange, Apple, Kiwi)}%| * $LISTITEM(-1, Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTITEM(-1, Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTJOIN][LISTJOIN]]
---+++ Expected
  • $LISTJOIN(-, Apple, Orange, Apple, Kiwi)=|Apple-Orange-Apple-Kiwi|
  • $LISTJOIN($empty, Apple, Orange, Apple, Kiwi)=|AppleOrangeAppleKiwi|
$LISTJOIN($n, Apple, Orange, Apple, Kiwi)=|Apple Orange Apple Kiwi|
---+++ Actual * $LISTJOIN(-, Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTJOIN(-, Apple, Orange, Apple, Kiwi)}%| * $LISTJOIN($empty, Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTJOIN($empty, Apple, Orange, Apple, Kiwi)}%| $LISTJOIN($n, Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTJOIN($n, Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTEACH][LISTEACH]]
---+++ Expected
  • $LISTEACH($index: $EVAL(2 * $item), 3, 5, 7, 11)=|1: 6, 2: 10, 3: 14, 4: 22|
  • $LISTMAP($index: $EVAL(2 * $item), 3, 5, 7, 11)=|1: 6, 2: 10, 3: 14, 4: 22|
---+++ Actual * $LISTEACH($index: $EVAL(2 * $item), 3, 5, 7, 11)=|%CALCULATE{$LISTEACH($index: $EVAL(2 * $item), 3, 5, 7, 11)}%| * $LISTMAP($index: $EVAL(2 * $item), 3, 5, 7, 11)=|%CALCULATE{$LISTMAP($index: $EVAL(2 * $item), 3, 5, 7, 11)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTNONEMPTY][LISTNONEMPTY]]
---+++ Expected
  • $LISTNONEMPTY(, Apple, Orange, , Kiwi)=|Apple, Orange, Kiwi|
---+++ Actual * $LISTNONEMPTY(, Apple, Orange, , Kiwi)=|%CALCULATE{$LISTNONEMPTY(, Apple, Orange, , Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTRAND][LISTRAND]]
---+++ Expected
  • $LISTRAND(Apple, Apple, Apple)=|Apple|
  • Manual test: $LISTRAND(Apple, Orange, Apple, Kiwi)=|%RED%(one of the four)%ENDCOLOR%|
---+++ Actual * $LISTRAND(Apple, Apple, Apple)=|%CALCULATE{$LISTRAND(Apple, Apple, Apple)}%| * Manual test: $LISTRAND(Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTRAND(Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTREVERSE][LISTREVERSE]]
---+++ Expected
  • $LISTREVERSE(Apple, Orange, Apple, Kiwi)=|Kiwi, Apple, Orange, Apple|
---+++ Actual * $LISTREVERSE(Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTREVERSE(Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTSHUFFLE][LISTSHUFFLE]]
---+++ Expected
  • $LISTSHUFFLE(Apple, Apple, Apple)=|Apple, Apple, Apple|
  • Manual test: $LISTSHUFFLE(Apple, Orange, Apple, Kiwi)=|%RED%(4 shuffled items)%ENDCOLOR%|
---+++ Actual * $LISTSHUFFLE(Apple, Apple, Apple)=|%CALCULATE{$LISTSHUFFLE(Apple, Apple, Apple)}%| * Manual test: $LISTSHUFFLE(Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTSHUFFLE(Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTSIZE][LISTSIZE]]
---+++ Expected
  • $LISTSIZE(Apple, Orange, Apple, Kiwi)=|4|
  • $LISTSIZE()=|0|
---+++ Actual * $LISTSIZE(Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTSIZE(Apple, Orange, Apple, Kiwi)}%| * $LISTSIZE()=|%CALCULATE{$LISTSIZE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTSORT][LISTSORT]]
---+++ Expected
  • $LISTSORT(Apple, Orange, Apple, Kiwi)=|Apple, Apple, Kiwi, Orange|
---+++ Actual * $LISTSORT(Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTSORT(Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTTRUNCATE][LISTTRUNCATE]]
---+++ Expected
  • $LISTTRUNCATE(2, Apple, Orange, Apple, Kiwi)=|Apple, Orange|
---+++ Actual * $LISTTRUNCATE(2, Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTTRUNCATE(2, Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLISTUNIQUE][LISTUNIQUE]]
---+++ Expected
  • $LISTUNIQUE(Apple, Orange, Apple, Kiwi)=|Apple, Orange, Kiwi|
---+++ Actual * $LISTUNIQUE(Apple, Orange, Apple, Kiwi)=|%CALCULATE{$LISTUNIQUE(Apple, Orange, Apple, Kiwi)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLN][LN]]
---+++ Expected
  • $LN(10)=|2.30258509299405|
---+++ Actual * $LN(10)=|%CALCULATE{$LN(10)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLOG][LOG]]
---+++ Expected
  • $LOG(1000)=|3|
  • $LOG(16, 2)=|4|
---+++ Actual * $LOG(1000)=|%CALCULATE{$LOG(1000)}%| * $LOG(16, 2)=|%CALCULATE{$LOG(16, 2)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncLOWER][LOWER]]
---+++ Expected
  • $LOWER(this BECOMES a lower cASE String)=|this becomes a lower case string|
---+++ Actual * $LOWER(this BECOMES a lower cASE String)=|%CALCULATE{$LOWER(this BECOMES a lower cASE String)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncMAX][MAX]]
---+++ Expected
  • $MAX(7, 99, 2, 5)=|99|
  • $MAX(A, 99, 2, 5)=|99|
  • $MAX(A, B)=||
  • $MAX()=||
---+++ Actual * $MAX(7, 99, 2, 5)=|%CALCULATE{$MAX(7, 99, 2, 5)}%| * $MAX(A, 99, 2, 5)=|%CALCULATE{$MAX(A, 99, 2, 5)}%| * $MAX(A, B)=|%CALCULATE{$MAX(A, B)}%| * $MAX()=|%CALCULATE{$MAX()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncMEDIAN][MEDIAN]]
---+++ Expected
  • $MEDIAN(3, 9, 4, 5)=|4.5|
---+++ Actual * $MEDIAN(3, 9, 4, 5)=|%CALCULATE{$MEDIAN(3, 9, 4, 5)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncMIN][MIN]]
---+++ Expected
  • $MIN(7, 99, 2, 5)=|2|
  • $MIN(A, 99, 2, 5)=|2|
  • $MIN(A, B)=||
  • $MIN()=||
---+++ Actual * $MIN(7, 99, 2, 5)=|%CALCULATE{$MIN(7, 99, 2, 5)}%| * $MIN(A, 99, 2, 5)=|%CALCULATE{$MIN(A, 99, 2, 5)}%| * $MIN(A, B)=|%CALCULATE{$MIN(A, B)}%| * $MIN()=|%CALCULATE{$MIN()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncMOD][MOD]]
---+++ Expected
  • $MOD(7, 3)=|1|
  • $MOD(7)=|0|
  • $MOD()=|0|
---+++ Actual * $MOD(7, 3)=|%CALCULATE{$MOD(7, 3)}%| * $MOD(7)=|%CALCULATE{$MOD(7)}%| * $MOD()=|%CALCULATE{$MOD()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncNOEXEC][NOEXEC]]
---+++ Expected
  • $SET(msg, $NOEXEC(Hi $GET(name)))=||
  • $SET(name, Jane)$EXEC($GET(msg))=|Hi Jane|
---+++ Actual * $SET(msg, $NOEXEC(Hi $GET(name)))=|%CALCULATE{$SET(msg, $NOEXEC(Hi $GET(name)))}%| * $SET(name, Jane)$EXEC($GET(msg))=|%CALCULATE{$SET(name, Jane)$EXEC($GET(msg))}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncNOP][NOP]]
---+++ Expected
  • $NOP(100$percnt $quotquoted$quot)=|100% "quoted"|
  • $NOP()=||
---+++ Actual * $NOP(100$percnt $quotquoted$quot)=|%CALCULATE{$NOP(100$percnt $quotquoted$quot)}%| * $NOP()=|%CALCULATE{$NOP()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncNOT][NOT]]
---+++ Expected
  • $NOT(1)=|0|
  • $NOT(0)=|1|
  • $NOT(1234)=|0|
  • $NOT()=|1|
---+++ Actual * $NOT(1)=|%CALCULATE{$NOT(1)}%| * $NOT(0)=|%CALCULATE{$NOT(0)}%| * $NOT(1234)=|%CALCULATE{$NOT(1234)}%| * $NOT()=|%CALCULATE{$NOT()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncNOTE][NOTE]]
---+++ Expected
  • $NOTE(some text)=||
  • $NOTE()=||
---+++ Actual * $NOTE(some text)=|%CALCULATE{$NOTE(some text)}%| * $NOTE()=|%CALCULATE{$NOTE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncOCT2DEC][OCT2DEC]]
---+++ Expected
  • $OCT2DEC(54)=|44|
  • $OCT2DEC(77777533)=|16777051|
  • $OCT2DEC()=|0|
---+++ Actual * $OCT2DEC(54)=|%CALCULATE{$OCT2DEC(54)}%| * $OCT2DEC(77777533)=|%CALCULATE{$OCT2DEC(77777533)}%| * $OCT2DEC()=|%CALCULATE{$OCT2DEC()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncODD][ODD]]
---+++ Expected
  • $ODD(2)=|0|
  • $ODD(3)=|1|
  • $ODD(3.5)=|1|
  • $ODD(-4)=|0|
  • $ODD()=|0|
---+++ Actual * $ODD(2)=|%CALCULATE{$ODD(2)}%| * $ODD(3)=|%CALCULATE{$ODD(3)}%| * $ODD(3.5)=|%CALCULATE{$ODD(3.5)}%| * $ODD(-4)=|%CALCULATE{$ODD(-4)}%| * $ODD()=|%CALCULATE{$ODD()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncOR][OR]]
---+++ Expected
  • $OR()=|0|
  • $OR(0)=|0|
  • $OR(1)=|1|
  • $OR(0, 0)=|0|
  • $OR(0, 1)=|1|
  • $OR(1, 0)=|1|
  • $OR(1, 1)=|1|
  • $OR(0, 1, 2, 3)=|1|
  • $OR(1, 2, 3, 4)=|1|
---+++ Actual * $OR()=|%CALCULATE{$OR()}%| * $OR(0)=|%CALCULATE{$OR(0)}%| * $OR(1)=|%CALCULATE{$OR(1)}%| * $OR(0, 0)=|%CALCULATE{$OR(0, 0)}%| * $OR(0, 1)=|%CALCULATE{$OR(0, 1)}%| * $OR(1, 0)=|%CALCULATE{$OR(1, 0)}%| * $OR(1, 1)=|%CALCULATE{$OR(1, 1)}%| * $OR(0, 1, 2, 3)=|%CALCULATE{$OR(0, 1, 2, 3)}%| * $OR(1, 2, 3, 4)=|%CALCULATE{$OR(1, 2, 3, 4)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncPERCENTILE][PERCENTILE]]
---+++ Expected
  • $PERCENTILE(75, 400, 200, 500, 100, 300)=|450|
  • $PERCENTILE(60)=|0|
  • $PERCENTILE()=|0|
---+++ Actual * $PERCENTILE(75, 400, 200, 500, 100, 300)=|%CALCULATE{$PERCENTILE(75, 400, 200, 500, 100, 300)}%| * $PERCENTILE(60)=|%CALCULATE{$PERCENTILE(60)}%| * $PERCENTILE()=|%CALCULATE{$PERCENTILE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncPI][PI]]
---+++ Expected
  • $PI()=|3.14159265358979|
---+++ Actual * $PI()=|%CALCULATE{$PI()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncPRODUCT][PRODUCT]]
---+++ Expected
  • $PRODUCT(0,4)=|0|
  • $PRODUCT(1,4)=|4|
  • $PRODUCT(2,4)=|8|
  • $PRODUCT(1,2,3,4)=|24|
  • $PRODUCT(1)=|1|
  • $PRODUCT(0)=|0|
  • $PRODUCT()=|1|
  • $MULT(1,2,3,4)=|24|
---+++ Actual * $PRODUCT(0,4)=|%CALCULATE{$PRODUCT(0,4)}%| * $PRODUCT(1,4)=|%CALCULATE{$PRODUCT(1,4)}%| * $PRODUCT(2,4)=|%CALCULATE{$PRODUCT(2,4)}%| * $PRODUCT(1,2,3,4)=|%CALCULATE{$PRODUCT(1,2,3,4)}%| * $PRODUCT(1)=|%CALCULATE{$PRODUCT(1)}%| * $PRODUCT(0)=|%CALCULATE{$PRODUCT(0)}%| * $PRODUCT()=|%CALCULATE{$PRODUCT()}%| * $MULT(1,2,3,4)=|%CALCULATE{$MULT(1,2,3,4)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncPROPER][PROPER]]
---+++ Expected
  • $PROPER(a small STEP)=|A Small Step|
  • $PROPER(f1 (formula-1))=|F1 (Formula-1)|
  • $PROPER()=||
---+++ Actual * $PROPER(a small STEP)=|%CALCULATE{$PROPER(a small STEP)}%| * $PROPER(f1 (formula-1))=|%CALCULATE{$PROPER(f1 (formula-1))}%| * $PROPER()=|%CALCULATE{$PROPER()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncPROPERSPACE][PROPERSPACE]]
---+++ Expected
  • $PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh)=|Old MacDonald had a Server Farm, Ee Eye Ee Eye Oh|
  • $PROPERSPACE()=||
---+++ Actual * $PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh)=|%CALCULATE{$PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh)}%| * $PROPERSPACE()=|%CALCULATE{$PROPERSPACE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncRAND][RAND]]
---+++ Expected
  • $IF($RAND()<=1, OK, not OK)=|OK|
  • Manual test: $RAND(10), $RAND(10), $RAND(10)=|%RED%(three random numbers between 0 and 10)%ENDCOLOR%|
  • Manual test: $RAND(), $RAND(), $RAND()=|%RED%(three random numbers between 0 and 1)%ENDCOLOR%|
---+++ Actual * $IF($RAND()<=1, OK, not OK)=|%CALCULATE{$IF($RAND()<=1, OK, not OK)}%| * Manual test: $RAND(10), $RAND(10), $RAND(10)=|%CALCULATE{$RAND(10), $RAND(10), $RAND(10)}%| * Manual test: $RAND(), $RAND(), $RAND()=|%CALCULATE{$RAND(), $RAND(), $RAND()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncRANDSTRING][RANDSTRING]]
---+++ Expected
  • Manual test: $RANDSTRING(), $RANDSTRING(), $RANDSTRING()=|%RED%(three random strings of 8 alphanumeric/underscore characters)%ENDCOLOR%|
  • Manual test: $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx), $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx), $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx)=|%RED%(three random strings, each of format xxxx-xxxx-xxxx-xxxx, composed of uppercase letters and numbers excluding letter O and number 0)%ENDCOLOR%|
---+++ Actual * Manual test: $RANDSTRING(), $RANDSTRING(), $RANDSTRING()=|%CALCULATE{$RANDSTRING(), $RANDSTRING(), $RANDSTRING()}%| * Manual test: $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx), $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx), $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx)=|%CALCULATE{$RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx), $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx), $RANDSTRING(A..NP..Z1..9, xxxx-xxxx-xxxx-xxxx)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncREPEAT][REPEAT]]
---+++ Expected
  • $REPEAT(/\, 10)=|/\/\/\/\/\/\/\/\/\/\|
  • $REPEAT(x)=||
  • $REPEAT()=||
---+++ Actual * $REPEAT(/\, 10)=|%CALCULATE{$REPEAT(/\, 10)}%| * $REPEAT(x)=|%CALCULATE{$REPEAT(x)}%| * $REPEAT()=|%CALCULATE{$REPEAT()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncREPLACE][REPLACE]]
---+++ Expected
  • $REPLACE(abcd, 2, 1, X)=|aXcd|
  • $REPLACE(1023, 2, 1, X)=|1X23|
  • $REPLACE(z_1023, 4, 1, X)=|z_1X23|
  • $REPLACE(abcd, 2, 1)=|acd|
  • $REPLACE(abcd, 2, 0)=|abcd|
  • $REPLACE(abcd, 1, 3)=|d|
  • $REPLACE(abcd, 1, 4)=||
  • $REPLACE(abcd, 1, 4, YYYY)=|YYYY|
  • $REPLACE(abcd, 2, 4, YYYY)=|aYYYY|
  • $REPLACE(abcdefghijk,6,5,*)=|abcde*k|
  • $REPLACE(abcd)=|abcd|
  • $REPLACE()=||
---+++ Actual * $REPLACE(abcd, 2, 1, X)=|%CALCULATE{$REPLACE(abcd, 2, 1, X)}%| * $REPLACE(1023, 2, 1, X)=|%CALCULATE{$REPLACE(1023, 2, 1, X)}%| * $REPLACE(z_1023, 4, 1, X)=|%CALCULATE{$REPLACE(z_1023, 4, 1, X)}%| * $REPLACE(abcd, 2, 1)=|%CALCULATE{$REPLACE(abcd, 2, 1)}%| * $REPLACE(abcd, 2, 0)=|%CALCULATE{$REPLACE(abcd, 2, 0)}%| * $REPLACE(abcd, 1, 3)=|%CALCULATE{$REPLACE(abcd, 1, 3)}%| * $REPLACE(abcd, 1, 4)=|%CALCULATE{$REPLACE(abcd, 1, 4)}%| * $REPLACE(abcd, 1, 4, YYYY)=|%CALCULATE{$REPLACE(abcd, 1, 4, YYYY)}%| * $REPLACE(abcd, 2, 4, YYYY)=|%CALCULATE{$REPLACE(abcd, 2, 4, YYYY)}%| * $REPLACE(abcdefghijk,6,5,*)=|%CALCULATE{$REPLACE(abcdefghijk,6,5,*)}%| * $REPLACE(abcd)=|%CALCULATE{$REPLACE(abcd)}%| * $REPLACE()=|%CALCULATE{$REPLACE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncRIGHT][RIGHT]]
---+++ Expected
$SUM($RIGHT())=|3| 1 2
$SUM($RIGHT())=|7| 3 4
---+++ Actual | $SUM($RIGHT())=%VBAR%%CALC{$SUM($RIGHT())}%%VBAR% | 1 | 2 | | $SUM($RIGHT())=%VBAR%%CALC{$SUM($RIGHT())}%%VBAR% | 3 | 4 |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncRIGHTSTRING][RIGHTSTRING]]
---+++ Expected
  • $RIGHTSTRING(abcdefg)=|g|
  • $RIGHTSTRING(abcdefg, 0)=|g|
  • $RIGHTSTRING(abcdefg, 1)=|g|
  • $RIGHTSTRING(abcdefg, 2)=|fg|
  • $RIGHTSTRING()=||
---+++ Actual * $RIGHTSTRING(abcdefg)=|%CALCULATE{$RIGHTSTRING(abcdefg)}%| * $RIGHTSTRING(abcdefg, 0)=|%CALCULATE{$RIGHTSTRING(abcdefg, 0)}%| * $RIGHTSTRING(abcdefg, 1)=|%CALCULATE{$RIGHTSTRING(abcdefg, 1)}%| * $RIGHTSTRING(abcdefg, 2)=|%CALCULATE{$RIGHTSTRING(abcdefg, 2)}%| * $RIGHTSTRING()=|%CALCULATE{$RIGHTSTRING()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncROUND][ROUND]]
---+++ Expected
  • $ROUND(3.15, 1)=|3.2|
  • $ROUND(3.149, 1)=|3.1|
  • $ROUND(-2.475, 2)=|-2.48|
  • $ROUND(34.9, -1)=|30|
  • $ROUND(12.34)=|12|
  • $ROUND(12.51)=|13|
  • $ROUND()=|0|
---+++ Actual * $ROUND(3.15, 1)=|%CALCULATE{$ROUND(3.15, 1)}%| * $ROUND(3.149, 1)=|%CALCULATE{$ROUND(3.149, 1)}%| * $ROUND(-2.475, 2)=|%CALCULATE{$ROUND(-2.475, 2)}%| * $ROUND(34.9, -1)=|%CALCULATE{$ROUND(34.9, -1)}%| * $ROUND(12.34)=|%CALCULATE{$ROUND(12.34)}%| * $ROUND(12.51)=|%CALCULATE{$ROUND(12.51)}%| * $ROUND()=|%CALCULATE{$ROUND()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncROW][ROW]]
---+++ Expected
$ROW()=1 $ROW()=1
$ROW()=2 $ROW(10)=12
$ROW()=3 $ROW(-10)=-7
---+++ Actual | $ROW()=%CALC{$ROW()}% | $ROW()=%CALC{$ROW()}% | | $ROW()=%CALC{$ROW()}% | $ROW(10)=%CALC{$ROW(10)}% | | $ROW()=%CALC{$ROW()}% | $ROW(-10)=%CALC{$ROW(-10)}% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSEARCH][SEARCH]]
---+++ Expected
  • $SEARCH([uy], fluffy)=|3|
  • $SEARCH([uy], fluffy, 4)=|6|
  • $SEARCH([abc], fluffy,)=|0|
  • $SEARCH(abc)=|0|
  • $SEARCH()=|0|
---+++ Actual * $SEARCH([uy], fluffy)=|%CALCULATE{$SEARCH([uy], fluffy)}%| * $SEARCH([uy], fluffy, 4)=|%CALCULATE{$SEARCH([uy], fluffy, 4)}%| * $SEARCH([abc], fluffy,)=|%CALCULATE{$SEARCH([abc], fluffy,)}%| * $SEARCH(abc)=|%CALCULATE{$SEARCH(abc)}%| * $SEARCH()=|%CALCULATE{$SEARCH()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSET][SET]]
---+++ Expected
  • $SET(test, 1234)=||
  • $GET(test)=|1234|
  • $SET(sum, $SUM(1, 2, 3, 4))=||
  • $GET(sum)=|10|
  • $SET(novalue)=||
  • $GET(novalue)=||
  • $SET()=||
---+++ Actual * $SET(test, 1234)=|%CALCULATE{$SET(test, 1234)}%| * $GET(test)=|%CALCULATE{$GET(test)}%| * $SET(sum, $SUM(1, 2, 3, 4))=|%CALCULATE{$SET(sum, $SUM(1, 2, 3, 4))}%| * $GET(sum)=|%CALCULATE{$GET(sum)}%| * $SET(novalue)=|%CALCULATE{$SET(novalue)}%| * $GET(novalue)=|%CALCULATE{$GET(novalue)}%| * $SET()=|%CALCULATE{$SET()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSETHASH][SETHASH]]
---+++ Expected
  • $SETHASH()=||
  • $SETHASH(age, Jane, 26)=||
  • $GETHASH(age, Jane)=|26|
  • $GETHASH()=|age|
---+++ Actual * $SETHASH()=|%CALCULATE{$SETHASH()}%| * $SETHASH(age, Jane, 26)=|%CALCULATE{$SETHASH(age, Jane, 26)}%| * $GETHASH(age, Jane)=|%CALCULATE{$GETHASH(age, Jane)}%| * $GETHASH()=|%CALCULATE{$GETHASH()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSETIFEMPTY][SETIFEMPTY]]
---+++ Expected
  • $SET(test, 1234)=||
  • $SETIFEMPTY(test, 1)=||
  • $GET(test)=|1234|
  • $SET(test, 0)=||
  • $SETIFEMPTY(test, 2)=||
  • $GET(test)=|2|
  • $SET(test,)=||
  • $SETIFEMPTY(test, 3)=||
  • $GET(test)=|3|
---+++ Actual * $SET(test, 1234)=|%CALCULATE{$SET(test, 1234)}%| * $SETIFEMPTY(test, 1)=|%CALCULATE{$SETIFEMPTY(test, 1)}%| * $GET(test)=|%CALCULATE{$GET(test)}%| * $SET(test, 0)=|%CALCULATE{$SET(test, 0)}%| * $SETIFEMPTY(test, 2)=|%CALCULATE{$SETIFEMPTY(test, 2)}%| * $GET(test)=|%CALCULATE{$GET(test)}%| * $SET(test,)=|%CALCULATE{$SET(test,)}%| * $SETIFEMPTY(test, 3)=|%CALCULATE{$SETIFEMPTY(test, 3)}%| * $GET(test)=|%CALCULATE{$GET(test)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSETLIST][SETLIST]]
---+++ Expected
  • $SETLIST(test, 1, '''2, 2.a, 2.b''', 3, 4)=||
  • $GETLIST(test)=|1, 2, 2.a, 2.b, 3, 4|
  • $LISTJOIN(; , $GETLIST(test))=|1; 2, 2.a, 2.b; 3; 4|
  • $SETLIST(novalue)=||
  • $GETLIST(novalue)=||
  • $SETLIST()=||
---+++ Actual * $SETLIST(test, 1, '''2, 2.a, 2.b''', 3, 4)=|%CALCULATE{$SETLIST(test, 1, '''2, 2.a, 2.b''', 3, 4)}%| * $GETLIST(test)=|%CALCULATE{$GETLIST(test)}%| * $LISTJOIN(; , $GETLIST(test))=|%CALCULATE{$LISTJOIN(; , $GETLIST(test))}%| * $SETLIST(novalue)=|%CALCULATE{$SETLIST(novalue)}%| * $GETLIST(novalue)=|%CALCULATE{$GETLIST(novalue)}%| * $SETLIST()=|%CALCULATE{$SETLIST()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSETM][SETM]]
---+++ Expected
  • $SET(total, 10)=||
  • $SETM(total, +5)=||
  • $SETM(total)=||
  • $GET(total)=|15|
  • $SETM()=||
---+++ Actual * $SET(total, 10)=|%CALCULATE{$SET(total, 10)}%| * $SETM(total, +5)=|%CALCULATE{$SETM(total, +5)}%| * $SETM(total)=|%CALCULATE{$SETM(total)}%| * $GET(total)=|%CALCULATE{$GET(total)}%| * $SETM()=|%CALCULATE{$SETM()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSETMHASH][SETMHASH]]
---+++ Expected
  • $SETHASH(count)=||
  • $LISTJOIN(, $LISTEACH($SETMHASH(count, $item, +1), Anna, Jane, Berta, Charlie, Jane, Tom, Anna, Jane))=||
  • $HASH2LIST(count, $key: $value)=|Anna: 2, Berta: 1, Charlie: 1, Jane: 3, Tom: 1|
  • $SETMHASH(count, Jane, +1)=||
  • $SETMHASH(count, Jane)=||
  • $HASH2LIST(count, $key: $value)=|Anna: 2, Berta: 1, Charlie: 1, Jane: 4, Tom: 1|
---+++ Actual * $SETHASH(count)=|%CALCULATE{$SETHASH(count)}%| * $LISTJOIN(, $LISTEACH($SETMHASH(count, $item, +1), Anna, Jane, Berta, Charlie, Jane, Tom, Anna, Jane))=|%CALCULATE{$LISTJOIN(, $LISTEACH($SETMHASH(count, $item, +1), Anna, Jane, Berta, Charlie, Jane, Tom, Anna, Jane))}%| * $HASH2LIST(count, $key: $value)=|%CALCULATE{$HASH2LIST(count, $key: $value)}%| * $SETMHASH(count, Jane, +1)=|%CALCULATE{$SETMHASH(count, Jane, +1)}%| * $SETMHASH(count, Jane)=|%CALCULATE{$SETMHASH(count, Jane)}%| * $HASH2LIST(count, $key: $value)=|%CALCULATE{$HASH2LIST(count, $key: $value)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSIGN][SIGN]]
---+++ Expected
  • $SIGN(12.34)=|1|
  • $SIGN(2)=|1|
  • $SIGN(0)=|0|
  • $SIGN()=|0|
  • $SIGN(-2)=|-1|
---+++ Actual * $SIGN(12.34)=|%CALCULATE{$SIGN(12.34)}%| * $SIGN(2)=|%CALCULATE{$SIGN(2)}%| * $SIGN(0)=|%CALCULATE{$SIGN(0)}%| * $SIGN()=|%CALCULATE{$SIGN()}%| * $SIGN(-2)=|%CALCULATE{$SIGN(-2)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSPLIT][SPLIT]]
---+++ Expected
  • $SPLIT(, Apple Orange Kiwi)=|Apple, Orange, Kiwi|
  • $SPLIT(-, Apple-Orange-Kiwi)=|Apple, Orange, Kiwi|
  • $SPLIT([-:]$sp*, Apple-Orange: Kiwi)=|Apple, Orange, Kiwi|
  • $SPLIT($empty, Apple)=|A, p, p, l, e|
  • $SPLIT(x)=||
  • $SPLIT()=||
---+++ Actual * $SPLIT(, Apple Orange Kiwi)=|%CALCULATE{$SPLIT(, Apple Orange Kiwi)}%| * $SPLIT(-, Apple-Orange-Kiwi)=|%CALCULATE{$SPLIT(-, Apple-Orange-Kiwi)}%| * $SPLIT([-:]$sp*, Apple-Orange: Kiwi)=|%CALCULATE{$SPLIT([-:]$sp*, Apple-Orange: Kiwi)}%| * $SPLIT($empty, Apple)=|%CALCULATE{$SPLIT($empty, Apple)}%| * $SPLIT(x)=|%CALCULATE{$SPLIT()}%| * $SPLIT()=|%CALCULATE{$SPLIT()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSQRT][SQRT]]
---+++ Expected
  • $SQRT(16)=|4|
  • $SQRT(1)=|1|
  • $SQRT()=|0|
---+++ Actual * $SQRT(16)=|%CALCULATE{$SQRT(16)}%| * $SQRT(1)=|%CALCULATE{$SQRT(1)}%| * $SQRT()=|%CALCULATE{$SQRT()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSTDEV][STDEV]]
---+++ Expected
  • $STDEV(2, 4, 4, 4, 5, 5, 7, 9)=|2.1380899352994|
  • $STDEV(2, 5, 3, 12)=|4.50924975282289|
  • $STDEV(2, 5, 3, xyz, 12)=|4.50924975282289|
  • $STDEV(3.50, 5.00, 7.23, 2.99)=|1.90205152401295|
  • $STDEV()=|0|
---+++ Actual * $STDEV(2, 4, 4, 4, 5, 5, 7, 9)=|%CALC{$STDEV(2, 4, 4, 4, 5, 5, 7, 9)}%| * $STDEV(2, 5, 3, 12)=|%CALC{$STDEV(2, 5, 3, 12)}%| * $STDEV(2, 5, 3, xyz, 12)=|%CALC{$STDEV(2, 5, 3, xyz, 12)}%| * $STDEV(3.50, 5.00, 7.23, 2.99)=|%CALC{$STDEV(3.50, 5.00, 7.23, 2.99)}%| * $STDEV()=|%CALC{$STDEV()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSTDEVP][STDEVP]]
---+++ Expected
  • $STDEVP(2, 5, 3, 12)=|3.90512483795333|
  • $STDEVP(2, 5, 3, xyz, 12)=|3.90512483795333|
  • $STDEVP(3.50, 5.00, 7.23, 2.99)=|1.64722493910213|
  • $STDEVP()=|0|
---+++ Actual * $STDEVP(2, 5, 3, 12)=|%CALC{$STDEVP(2, 5, 3, 12)}%| * $STDEVP(2, 5, 3, xyz, 12)=|%CALC{$STDEVP(2, 5, 3, xyz, 12)}%| * $STDEVP(3.50, 5.00, 7.23, 2.99)=|%CALC{$STDEVP(3.50, 5.00, 7.23, 2.99)}%| * $STDEVP()=|%CALC{$STDEVP()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSUBSTITUTE][SUBSTITUTE]]
---+++ Expected
  • $SUBSTITUTE(Good morning, morning, day)=|Good day|
  • $SUBSTITUTE('''Good, early morning''', morning, '''day''')=|Good, early day|
  • $SUBSTITUTE(Q2-2012, 2, 3)=|Q3-3013|
  • $SUBSTITUTE(Q2-2012,2, 3, 3)=|Q2-2013|
  • $SUBSTITUTE(abc123def, [0-9], 9, , r)=|abc999def|
  • $SUBSTITUTE(abcd)=|abcd|
  • $SUBSTITUTE()=||
---+++ Actual * $SUBSTITUTE(Good morning, morning, day)=|%CALCULATE{$SUBSTITUTE(Good morning, morning, day)}%| * $SUBSTITUTE('''Good, early morning''', morning, '''day''')=|%CALCULATE{$SUBSTITUTE('''Good, early morning''', morning, '''day''')}%| * $SUBSTITUTE(Q2-2012, 2, 3)=|%CALCULATE{$SUBSTITUTE(Q2-2012, 2, 3)}%| * $SUBSTITUTE(Q2-2012,2, 3, 3)=|%CALCULATE{$SUBSTITUTE(Q2-2012,2, 3, 3)}%| * $SUBSTITUTE(abc123def, [0-9], 9, , r)=|%CALCULATE{$SUBSTITUTE(abc123def, [0-9], 9, , r)}%| * $SUBSTITUTE(abcd)=|%CALCULATE{$SUBSTITUTE(abcd)}%| * $SUBSTITUTE()=|%CALCULATE{$SUBSTITUTE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSUBSTRING][SUBSTRING]]
---+++ Expected
  • $SUBSTRING(abcdef,3,5)=|cdef|
  • $SUBSTRING(abcdefgh,3,5)=|cdefg|
  • $SUBSTRING(abcdefgh,8,5)=|h|
  • $SUBSTRING(abcdefgh,9,5)=||
  • $SUBSTRING(abcdefg,-2,2)=|fg|
  • $SUBSTRING(abcdefg,-1,2)=|g|
  • $SUBSTRING(abcdefg,-7,2)=|ab|
  • $SUBSTRING(abcdefg,-8,2)=||
  • $SUBSTRING(abcdefg,0,2)=||
  • $SUBSTRING(abcdefg,1,2)=|ab|
  • $SUBSTRING(abcdefg,2,2)=|bc|
  • $SUBSTRING(abcdefg,2,-1)=|bcdef|
  • $SUBSTRING(abcdefg,-2,-1)=|f|
  • $SUBSTRING(abc,def,3,3)=|c,d|
  • $SUBSTRING(abcdefg)=||
  • $SUBSTRING()=||
---+++ Actual * $SUBSTRING(abcdef,3,5)=|%CALCULATE{$SUBSTRING(abcdef,3,5)}%| * $SUBSTRING(abcdefgh,3,5)=|%CALCULATE{$SUBSTRING(abcdefgh,3,5)}%| * $SUBSTRING(abcdefgh,8,5)=|%CALCULATE{$SUBSTRING(abcdefgh,8,5)}%| * $SUBSTRING(abcdefgh,9,5)=|%CALCULATE{$SUBSTRING(abcdefgh,9,5)}%| * $SUBSTRING(abcdefg,-2,2)=|%CALCULATE{$SUBSTRING(abcdefg,-2,2)}%| * $SUBSTRING(abcdefg,-1,2)=|%CALCULATE{$SUBSTRING(abcdefg,-1,2)}%| * $SUBSTRING(abcdefg,-7,2)=|%CALCULATE{$SUBSTRING(abcdefg,-7,2)}%| * $SUBSTRING(abcdefg,-8,2)=|%CALCULATE{$SUBSTRING(abcdefg,-8,2)}%| * $SUBSTRING(abcdefg,0,2)=|%CALCULATE{$SUBSTRING(abcdefg,0,2)}%| * $SUBSTRING(abcdefg,1,2)=|%CALCULATE{$SUBSTRING(abcdefg,1,2)}%| * $SUBSTRING(abcdefg,2,2)=|%CALCULATE{$SUBSTRING(abcdefg,2,2)}%| * $SUBSTRING(abcdefg,2,-1)=|%CALCULATE{$SUBSTRING(abcdefg,2,-1)}%| * $SUBSTRING(abcdefg,-2,-1)=|%CALCULATE{$SUBSTRING(abcdefg,-2,-1)}%| * $SUBSTRING(abc,def,3,3)=|%CALCULATE{$SUBSTRING(abc,def,3,3)}%| * $SUBSTRING(abcdefg)=|%CALCULATE{$SUBSTRING(abcdefg)}%| * $SUBSTRING()=|%CALCULATE{$SUBSTRING()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSUM][SUM]]
---+++ Expected
  • $SUM(1, 2, 3, 4, 5)=|15|
  • $SUM(1, x, 3, , 5)=|9|
  • $SUM(1)=|1|
  • $SUM()=|0|
---+++ Actual * $SUM(1, 2, 3, 4, 5)=|%CALCULATE{$SUM(1, 2, 3, 4, 5)}%| * $SUM(1, x, 3, , 5)=|%CALCULATE{$SUM(1, x, 3, , 5)}%| * $SUM(1)=|%CALCULATE{$SUM(1)}%| * $SUM()=|%CALCULATE{$SUM()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSUMDAYS][SUMDAYS]]
---+++ Expected
  • $SUMDAYS(2w, 1, 2d, 4h)=|13.5|
  • $SUMDAYS(1w, x)=|5|
  • $SUMDAYS()=|0|
---+++ Actual * $SUMDAYS(2w, 1, 2d, 4h)=|%CALCULATE{$SUMDAYS(2w, 1, 2d, 4h)}%| * $SUMDAYS(1w, x)=|%CALCULATE{$SUMDAYS(1w, x)}%| * $SUMDAYS()=|%CALCULATE{$SUMDAYS()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncSUMPRODUCT][SUMPRODUCT]]
---+++ Expected
1 2
3 4
$SUMPRODUCT(R1:C1..R2:C1, R1:C2..R2:C2)=|14| $SUMPRODUCT(R1:C1..R2:C1, $ABOVE())=|14|
---+++ Actual | 1 | 2 | | 3 | 4 | | $SUMPRODUCT(R1:C1..R2:C1, R1:C2..R2:C2)=%VBAR%%CALC{$SUMPRODUCT(R1:C1..R2:C1, R1:C2..R2:C2)}%%VBAR% | $SUMPRODUCT(R1:C1..R2:C1, $ABOVE())=%VBAR%%CALC{$SUMPRODUCT(R1:C1..R2:C1, $ABOVE())}%%VBAR% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncT][T]]
---+++ Expected
1 2
3 4
$T(R2:C1)=|3| $T(R1:C2)=|2|
---+++ Actual |1|2| |3|4| | $T(R2:C1)=%VBAR%%CALC{$T(R2:C1)}%%VBAR% | $T(R1:C2)=%VBAR%%CALC{$T(R1:C2)}%%VBAR% |
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncTIME][TIME]]
---+++ Expected
  • $TIME(2012-12-31 GMT)=|1356912000|
  • Manual test: $TIME($FORMATTIME($TIME(), $year-$mo-$day))=|%RED%(today)%ENDCOLOR%|
---+++ Actual * $TIME(2012-12-31 GMT)=|%CALCULATE{$TIME(2012-12-31 GMT)}%| * Manual test: $TIME($FORMATTIME($TIME(), $year-$mo-$day))=|%CALCULATE{$FORMATTIME($TIME(), $year-$mo-$day)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncTIMEADD][TIMEADD]]
---+++ Expected
  • $FORMATTIME($TIMEADD($TIME(2012-12-31), 2, day), $year-$mo-$day)=|2013-01-02|
  • $FORMATTIME($TIMEADD($TIME(2012-12-31), 2, year), $year-$mo-$day)=|2014-12-31|
  • $TIMEADD($TIME(2012-12-31 GMT), 10)=|1356912010|
  • $TIMEADD($TIME(2012-12-31 GMT), 10, sec)=|1356912010|
  • $TIMEADD($TIME(2012-12-31 GMT), 2, min)=|1356912120|
  • $TIMEADD()=|0|
---+++ Actual * $FORMATTIME($TIMEADD($TIME(2012-12-31), 2, day), $year-$mo-$day)=|%CALCULATE{$FORMATTIME($TIMEADD($TIME(2012-12-31), 2, day), $year-$mo-$day)}%| * $FORMATTIME($TIMEADD($TIME(2012-12-31), 2, year), $year-$mo-$day)=|%CALCULATE{$FORMATTIME($TIMEADD($TIME(2012-12-31), 2, year), $year-$mo-$day)}%| * $TIMEADD($TIME(2012-12-31 GMT), 10)=|%CALCULATE{$TIMEADD($TIME(2012-12-31 GMT), 10)}%| * $TIMEADD($TIME(2012-12-31 GMT), 10, sec)=|%CALCULATE{$TIMEADD($TIME(2012-12-31 GMT), 10, sec)}%| * $TIMEADD($TIME(2012-12-31 GMT), 2, min)=|%CALCULATE{$TIMEADD($TIME(2012-12-31 GMT), 2, min)}%| * $TIMEADD()=|%CALCULATE{$TIMEADD()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncTIMEDIFF][TIMEDIFF]]
---+++ Expected
  • $TIMEDIFF($TIME(), $EVAL($TIME()+90), minute)=|1.5|
  • $TIMEDIFF($ROUND($TIMEDIFF($TIME(2012-12-06),$TIME(2012-12-13), day)))=|7|
  • $TIMEDIFF()=|0|
---+++ Actual * $TIMEDIFF($TIME(), $EVAL($TIME()+90), minute)=|%CALCULATE{$TIMEDIFF($TIME(), $EVAL($TIME()+90), minute)}%| * $TIMEDIFF($ROUND($TIMEDIFF($TIME(2012-12-06),$TIME(2012-12-13), day)))=|%CALCULATE{$ROUND($TIMEDIFF($TIME(2012-12-06),$TIME(2012-12-13), day))}%| * $TIMEDIFF()=|%CALCULATE{$TIMEDIFF()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncTODAY][TODAY]]
---+++ Expected
  • (can't be tested automatically)
  • Manual test: $TIME($FORMATTIME($TODAY(), $year-$mo-$day $hour:$min:$sec GMT))=|%RED%(this morning midnight GMT)%ENDCOLOR%|
---+++ Actual * (can't be tested automatically) * Manual test: $TIME($FORMATTIME($TODAY(), $year-$mo-$day $hour:$min:$sec GMT))=|%CALCULATE{$FORMATTIME($TODAY(), $year-$mo-$day $hour:$min:$sec GMT)}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncTRANSLATE][TRANSLATE]]
---+++ Expected
  • $TRANSLATE(boom,bm,cl)=|cool|
  • $TRANSLATE(one, two,$comma,;)=|one; two|
  • $TRANSLATE()=||
---+++ Actual * $TRANSLATE(boom,bm,cl)=|%CALCULATE{$TRANSLATE(boom,bm,cl)}%| * $TRANSLATE(one, two,$comma,;)=|%CALCULATE{$TRANSLATE(one, two,$comma,;)}%| * $TRANSLATE()=|%CALCULATE{$TRANSLATE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncTRIM][TRIM]]
---+++ Expected
  • $TRIM( eat spaces )=|eat spaces|
  • $TRIM()=||
---+++ Actual * $TRIM( eat spaces )=|%CALCULATE{$TRIM( eat spaces )}%| * $TRIM()=|%CALCULATE{$TRIM()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncUPPER][UPPER]]
---+++ Expected
  • $UPPER(this beCOMES an UPPER cASE String)=|THIS BECOMES AN UPPER CASE STRING|
  • $UPPER()=||
---+++ Actual * $UPPER(this beCOMES an UPPER cASE String)=|%CALCULATE{$UPPER(this beCOMES an UPPER cASE String)}%| * $UPPER()=|%CALCULATE{$UPPER()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncVALUE][VALUE]]
---+++ Expected
  • $VALUE(US$1,200)=|1200|
  • $VALUE(PrjNotebook1234)=|1234|
  • $VALUE(Total: -12.5)=|-12.5|
  • $VALUE()=|0|
---+++ Actual * $VALUE(US$1,200)=|%CALCULATE{$VALUE(US$1,200)}%| * $VALUE(PrjNotebook1234)=|%CALCULATE{$VALUE(PrjNotebook1234)}%| * $VALUE(Total: -12.5)=|%CALCULATE{$VALUE(Total: -12.5)}%| * $VALUE()=|%CALCULATE{$VALUE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncVAR][VAR]]
---+++ Expected
  • $VAR(1, 2, 3, 4, 5, 6)=|3.5|
  • $VAR(2, 5, 3, 12)=|20.3333333333333|
  • $VAR(2, 5, 3, xyz, 12)=|20.3333333333333|
  • $VAR(3.50, 5.00, 7.23, 2.99)=|3.6178|
  • $VAR()=|0|
---+++ Actual * $VAR(1, 2, 3, 4, 5, 6)=|%CALCULATE{$VAR(1, 2, 3, 4, 5, 6)}%| * $VAR(2, 5, 3, 12)=|%CALCULATE{$VAR(2, 5, 3, 12)}%| * $VAR(2, 5, 3, xyz, 12)=|%CALCULATE{$VAR(2, 5, 3, xyz, 12)}%| * $VAR(3.50, 5.00, 7.23, 2.99)=|%CALCULATE{$VAR(3.50, 5.00, 7.23, 2.99)}%| * $VAR()=|%CALCULATE{$VAR()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncVARP][VARP]]
---+++ Expected
  • $VARP(1, 2, 3, 4, 5, 6)=|2.91666666666667|
  • $VARP(2, 5, 3, 12)=|15.25|
  • $VARP(2, 5, 3, xyz, 12)=|15.25|
  • $VARP(3.50, 5.00, 7.23, 2.99)=|2.71335|
  • $VARP()=|0|
---+++ Actual * $VARP(1, 2, 3, 4, 5, 6)=|%CALCULATE{$VARP(1, 2, 3, 4, 5, 6)}%| * $VARP(2, 5, 3, 12)=|%CALCULATE{$VARP(2, 5, 3, 12)}%| * $VARP(2, 5, 3, xyz, 12)=|%CALCULATE{$VARP(2, 5, 3, xyz, 12)}%| * $VARP(3.50, 5.00, 7.23, 2.99)=|%CALCULATE{$VARP(3.50, 5.00, 7.23, 2.99)}%| * $VARP()=|%CALCULATE{$VARP()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncWHILE][WHILE]]
---+++ Expected
  • $WHILE($counter<=10, $counter )=|1 2 3 4 5 6 7 8 9 10 |
  • $SET(i, 0)$WHILE($GET(i)<10, $SETM(i, +1) $EVAL($GET(i) * $GET(i)), )=| 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, |
  • $WHILE()=||
---+++ Actual * $WHILE($counter<=10, $counter )=|%CALCULATE{$WHILE($counter<=10, $counter )}%| * $SET(i, 0)$WHILE($GET(i)<10, $SETM(i, +1) $EVAL($GET(i) * $GET(i)), )=|%CALCULATE{$SET(i, 0)$WHILE($GET(i)<10, $SETM(i, +1) $EVAL($GET(i) * $GET(i)), )}%| * $WHILE()=|%CALCULATE{$WHILE()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncWORKINGDAYS][WORKINGDAYS]]
---+++ Expected
  • $WORKINGDAYS($TIME(2012-07-15 GMT), $TIME(2012-08-03 GMT))=|14|
  • $WORKINGDAYS()=|0|
---+++ Actual * $WORKINGDAYS($TIME(2012-07-15 GMT), $TIME(2012-08-03 GMT))=|%CALCULATE{$WORKINGDAYS($TIME(2012-07-15 GMT), $TIME(2012-08-03 GMT))}%| * $WORKINGDAYS()=|%CALCULATE{$WORKINGDAYS()}%|
---++ Function [[%SYSTEMWEB%.SpreadSheetPlugin#FuncXOR][XOR]]
---+++ Expected
  • $XOR(0)=|0|
  • $XOR(1)=|0|
  • $XOR(0, 0)=|0|
  • $XOR(0, 1)=|1|
  • $XOR(1, 0)=|1|
  • $XOR(1, 1)=|0|
  • $XOR(0, 1, 2, 3)=|1|
  • $XOR(1, 2, 3, 4)=|0|
  • $XOR()=|0|
---+++ Actual * $XOR(0)=|%CALCULATE{$XOR(0)}%| * $XOR(1)=|%CALCULATE{$XOR(1)}%| * $XOR(0, 0)=|%CALCULATE{$XOR(0, 0)}%| * $XOR(0, 1)=|%CALCULATE{$XOR(0, 1)}%| * $XOR(1, 0)=|%CALCULATE{$XOR(1, 0)}%| * $XOR(1, 1)=|%CALCULATE{$XOR(1, 1)}%| * $XOR(0, 1, 2, 3)=|%CALCULATE{$XOR(0, 1, 2, 3)}%| * $XOR(1, 2, 3, 4)=|%CALCULATE{$XOR(1, 2, 3, 4)}%| * $XOR()=|%CALCULATE{$XOR()}%|
* Set EDITMETHOD = raw __Related Topics:__ SpreadSheetPlugin, VarCALC, VarCALCULATE -- TWiki:Main.PeterThoeny - 2014-10-24