Difference: SpreadSheetPluginTestCases (4 vs. 5)

Revision 52016-05-30 - RodrigoReeves

Line: 1 to 1
 

SpreadSheetPlugin Testing

Use this topic to verify proper operation of the SpreadSheetPlugin in your environment.

For developers: This topic is included by TestCaseAutoSpreadSheetPlugin for automated integration testing. This requires the TWiki:Plugins.TestFixturePlugin and a repository checkout.

CALC{} and CALCULATE{}

Expected

<-- expected CALC_and_CALCULATE -->
  • CALC{$REPLACE(1234, 2, 1, X)}=|1X34|
  • CALCULATE{$REPLACE(1234, 2, 1, X)}=|1X34|
<-- /expected -->

Actual

<-- actual -->
  • CALC{$REPLACE(1234, 2, 1, X)}=|1X34|
  • CALCULATE{$REPLACE(1234, 2, 1, X)}=|1X34|
<-- /actual -->

NOTE: All functions that follow are tested via:

  • CALC{} if reference is done to table cells
  • CALCULATE{} otherwise

Function ABOVE

Expected

<-- expected ABOVE -->
A1 B1
A2 B2
$ABOVE()=R0:C1..R2:C1 $ABOVE()=R0:C2..R2:C2
<-- /expected -->

Actual

<-- actual -->
A1 B1
A2 B2
$ABOVE()=R0:C1..R2:C1 $ABOVE()=R0:C2..R2:C2
<-- /actual -->

Function ABS

Expected

<-- expected ABS -->
  • $ABS(-2)=|2|
  • $ABS(-0.5)=|0.5|
  • $ABS(0)=|0|
  • $ABS(0.5)=|0.5|
  • $ABS(2)=|2|
<-- /expected -->

Actual

<-- actual -->
  • $ABS(-2)=|2|
  • $ABS(-0.5)=|0.5|
  • $ABS(0)=|0|
  • $ABS(0.5)=|0.5|
  • $ABS(2)=|2|
<-- /actual -->

Function ADDLIST

Expected

<-- expected ADDLIST -->
  • $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()=||
<-- /expected -->

Actual

<-- actual -->
  • $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 -->

Function AND

Expected

<-- expected AND -->
  • $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|
<-- /expected -->

Actual

<-- actual -->
  • $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 -->

Function AVERAGE

Expected

<-- expected AVERAGE -->
  • $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|
<-- /expected -->

Actual

<-- actual -->
  • $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 -->

Function BIN2DEC

Expected

<-- expected BIN2DEC -->
  • $BIN2DEC(1100100)=|100|
  • $BIN2DEC(1010101010101010101)=|349525|
  • $BIN2DEC()=|0|
<-- /expected -->

Actual

<-- actual -->
  • $BIN2DEC(1100100)=|100|
  • $BIN2DEC(1010101010101010101)=|349525|
  • $BIN2DEC()=|0|
<-- /actual -->

Function BITXOR

Expected

<-- expected BITXOR -->
  • $BITXOR()=||
  • $BITXOR(A123)=|¾ÎÍÌ|
  • $BITXOR($BITXOR(anything))=|anything|
<-- /expected -->

Actual

<-- actual -->
  • $BITXOR()=||
  • $BITXOR(A123)=|¾ÎÍÌ|
  • $BITXOR($BITXOR(anything))=|anything|
<-- /actual -->

Function CEILING

Expected

<-- expected CEILING -->
  • $CEILING(5.4)=|6|
  • $CEILING(-5.4)=|-5|
<-- /expected -->

Actual

<-- actual -->
  • $CEILING(5.4)=|6|
  • $CEILING(-5.4)=|-5|
<-- /actual -->

Function CHAR

Expected

<-- expected CHAR -->
  • $CHAR(97)=|a|
<-- /expected -->

Actual

<-- actual -->
  • $CHAR(97)=|a|
<-- /actual -->

Function CODE

Expected

<-- expected CODE -->
  • $CODE(abc)=|97|
<-- /expected -->

Actual

<-- actual -->
  • $CODE(abc)=|97|
<-- /actual -->

Function COLUMN

Expected

<-- expected COLUMN -->
$COLUMN()=1 $COLUMN()=2
$COLUMN()=1 $COLUMN()=2
$COLUMN()=1 $COLUMN()=2
<-- /expected -->

Actual

<-- actual -->
$COLUMN()=1 $COLUMN()=2
$COLUMN()=1 $COLUMN()=2
$COLUMN()=1 $COLUMN()=2
<-- /actual -->

Function COUNTITEMS

Expected

<-- expected COUNTITEMS -->
  • $COUNTITEMS(One)=|One: 1|
  • $COUNTITEMS(One, Two)=|One: 1
    Two: 1|
  • $COUNTITEMS(One, Two, One)=|One: 2
    Two: 1|
<-- /expected -->

Actual

<-- actual -->
  • $COUNTITEMS(One)=|One: 1|
  • $COUNTITEMS(One, Two)=|One: 1
    Two: 1|
  • $COUNTITEMS(One, Two, One)=|One: 2
    Two: 1|
<-- /actual -->

Function COUNTSTR

Expected

<-- expected COUNTSTR -->
  • $COUNTSTR(Done, , Done, OK, )=|3|
  • $COUNTSTR(Done, , Done, OK, Done)=|2|
<-- /expected -->

Actual

<-- actual -->
  • $COUNTSTR(Done, , Done, OK, )=|3|
  • $COUNTSTR(Done, , Done, OK, Done)=|2|
<-- /actual -->

Function DEC2BIN

Expected

<-- expected DEC2BIN -->
  • $DEC2BIN(9)=|1001|
  • $DEC2BIN(9, 6)=|001001|
  • $DEC2BIN(-100)=|11111111111111111111111110011100|
  • $DEC2BIN()=|0|
<-- /expected -->

Actual

<-- actual -->
  • $DEC2BIN(9)=|1001|
  • $DEC2BIN(9, 6)=|001001|
  • $DEC2BIN(-100)=|1111111111111111111111111111111111111111111111111111111110011100|
  • $DEC2BIN()=|0|
<-- /actual -->

Function DEC2HEX

Expected

<-- expected DEC2HEX -->
  • $DEC2HEX(165)=|A5|
  • $DEC2HEX(100, 4)=|0064|
  • $DEC2HEX(-54)=|FFFFFFCA|
  • $DEC2HEX()=|0|
<-- /expected -->

Actual

<-- actual -->
  • $DEC2HEX(165)=|A5|
  • $DEC2HEX(100, 4)=|0064|
  • $DEC2HEX(-54)=|FFFFFFFFFFFFFFCA|
  • $DEC2HEX()=|0|
<-- /actual -->

Function DEC2OCT

Expected

<-- expected DEC2OCT -->
  • $DEC2OCT(58)=|72|
  • $DEC2OCT(58, 3)=|072|
  • $DEC2OCT()=|0|
<-- /expected -->

Actual

<-- actual -->
  • $DEC2OCT(58)=|72|
  • $DEC2OCT(58, 3)=|072|
  • $DEC2OCT()=|0|
<-- /actual -->

Function DEF

Expected

<-- expected DEF -->
  • $DEF(One, Two, Three)=|One|
  • $DEF(, Two, Three)=|Two|
  • $DEF(, , Three)=|Three|
  • $DEF(, , )=||
<-- /expected -->

Actual

<-- actual -->
  • $DEF(One, Two, Three)=|One|
  • $DEF(, Two, Three)=|Two|
  • $DEF(, , Three)=|Three|
  • $DEF(, , )=||
<-- /actual -->

Function EMPTY

Expected

<-- expected EMPTY -->
  • $EMPTY()=|1|
  • $EMPTY( )=|0|
  • $EMPTY(foo)=|0|
<-- /expected -->

Actual

<-- actual -->
  • $EMPTY()=|1|
  • $EMPTY( )=|0|
  • $EMPTY(foo)=|0|
<-- /actual -->

Function EQUAL

Expected

<-- expected EQUAL -->
  • $EQUAL(foo, foo)=|1|
  • $EQUAL(foo, Foo)=|1|
  • $EQUAL(foo, bar)=|0|
<-- /expected -->

Actual

<-- actual -->
  • $EQUAL(foo, foo)=|1|
  • $EQUAL(foo, Foo)=|1|
  • $EQUAL(foo, bar)=|0|
<-- /actual -->

Function EVAL

Expected

<-- expected EVAL -->
  • $EVAL( (5 * 3) / 2 + 1.1 )=|8.6|
<-- /expected -->

Actual

<-- actual -->
  • $EVAL( (5 * 3) / 2 + 1.1 )=|8.6|
<-- /actual -->

Function EVEN

Expected

<-- expected EVEN -->
  • $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|
<-- /expected -->

Actual

<-- actual -->
  • $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 -->

Function EXACT

Expected

<-- expected EXACT -->
  • $EXACT(foo, Foo)=|0|
  • $EXACT(foo, $LOWER(Foo))=|1|
<-- /expected -->

Actual

<-- actual -->
  • $EXACT(foo, Foo)=|0|
  • $EXACT(foo, $LOWER(Foo))=|1|
<-- /actual -->

Function EXEC

Expected

<-- expected EXEC -->
  • $SET(msg, $NOEXEC(Hi $GET(name)))=||
  • $EXEC($SET(name, Tom) $EXEC($GET(msg)))=| Hi Tom|
  • $EXEC($SET(name, Jerry) $EXEC($GET(msg)))=| Hi Jerry|
<-- /expected -->

Actual

<-- actual -->
  • $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 -->

Function EXISTS

Expected

<-- expected EXISTS -->
  • $EXISTS(WebHome)=|1|
  • $EXISTS(ThisDoesNotExist)=|0|
<-- /expected -->

Actual

<-- actual -->
  • $EXISTS(WebHome)=|1|
  • $EXISTS(ThisDoesNotExist)=|0|
<-- /actual -->

Function EXP

Expected

<-- expected EXP -->
  • $EXP(1)=|2.71828182845905|
<-- /expected -->

Actual

<-- actual -->
  • $EXP(1)=|2.71828182845905|
<-- /actual -->

Function FILTER

Expected

<-- expected FILTER -->
  • $FILTER(f, fluffy)=|luy|
  • $FILTER(an Franc, San Francisco)=|Sisco|
  • $FILTER($sp, Cat and Mouse)=|CatandMouse|
Changed:
<
<
  • $FILTER([^0-9], Project-ID-1234)=|1234|
  • >
    >
  • $FILTER([^0-9], Main/Project-ID-1234)=|1234|
  •  
  • $FILTER([^a-zA-Z0-9 ], Stupid mistake*%@^! Fixed)=|Stupid mistake Fixed|
  • <-- /expected -->

    Actual

    <-- actual -->
    • $FILTER(f, fluffy)=|luy|
    • $FILTER(an Franc, San Francisco)=|Sisco|
    • $FILTER($sp, Cat and Mouse)=|CatandMouse|
    Changed:
    <
    <
    • $FILTER([^0-9], Project-ID-1234)=|1234|
    >
    >
    • $FILTER([^0-9], Main/Project-ID-1234)=|1234|
     
    • $FILTER([^a-zA-Z0-9 ], Stupid mistake*%@^! Fixed)=|Stupid mistake Fixed|
    <-- /actual -->

    Function FIND

    Expected

    <-- expected FIND -->
    • $FIND(f, fluffy)=|1|
    • $FIND(f, fluffy, 2)=|4|
    • $FIND(x, fluffy, 1)=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $FIND(f, fluffy)=|1|
    • $FIND(f, fluffy, 2)=|4|
    • $FIND(x, fluffy, 1)=|0|
    <-- /actual -->

    Function FLOOR

    Expected

    <-- expected FLOOR -->
    • $FLOOR(5.4)=|5|
    • $FLOOR(-5.4)=|-6|
    <-- /expected -->

    Actual

    <-- actual -->
    • $FLOOR(5.4)=|5|
    • $FLOOR(-5.4)=|-6|
    <-- /actual -->

    Function FORMAT

    Expected

    <-- expected FORMAT -->
    • $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%|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function FORMATGMTIME

    Expected

    <-- expected FORMATGMTIME -->
    • $FORMATGMTIME(1041379200, $day $mon $year)=|01 Jan 2003|
    <-- /expected -->

    Actual

    <-- actual -->
    • $FORMATGMTIME(1041379200, $day $mon $year)=|01 Jan 2003|
    <-- /actual -->

    Function FORMATTIME

    Expected

    <-- expected FORMATTIME -->
    • $FORMATTIME(0, $year/$month/$day GMT)=|1970/01/01 GMT|
    <-- /expected -->

    Actual

    <-- actual -->
    • $FORMATTIME(0, $year/$month/$day GMT)=|1970/01/01 GMT|
    <-- /actual -->

    Function FORMATTIMEDIFF

    Expected

    <-- expected FORMATTIMEDIFF -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function GET

    Expected

    <-- expected GET -->
    • $SET(test, 1234)=||
    • $GET(test)=|1234|
    • $GET()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $SET(test, 1234)=||
    • $GET(test)=|1234|
    • $GET()=||
    <-- /actual -->

    Function GETHASH

    Expected

    <-- expected GETHASH -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function GETLIST

    Expected

    <-- expected GETLIST -->
    • $SETLIST(test, 1, 2, 3, 4)=||
    • $GETLIST(test)=|1, 2, 3, 4|
    • $GETLIST()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $SETLIST(test, 1, 2, 3, 4)=||
    • $GETLIST(test)=|1, 2, 3, 4|
    • $GETLIST()=||
    <-- /actual -->

    Function HASH2LIST

    Expected

    <-- expected HASH2LIST -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function HASHCOPY

    Expected

    <-- expected HASHCOPY -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function HASHEACH

    Expected

    <-- expected HASHEACH -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function HASHEXISTS

    Expected

    <-- expected HASHEXISTS -->
    • $SETHASH()=||
    • $LIST2HASH(age, Jane, 26, Tim, 27)=||
    • $HASHEXISTS(age)=|1|
    • $HASHEXISTS(age, Jane)=|1|
    • $HASHEXISTS(age, Blake)=|0|
    • $HASHEXISTS(height)=|0|
    • $HASHEXISTS()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SETHASH()=||
    • $LIST2HASH(age, Jane, 26, Tim, 27)=||
    • $HASHEXISTS(age)=|1|
    • $HASHEXISTS(age, Jane)=|1|
    • $HASHEXISTS(age, Blake)=|0|
    • $HASHEXISTS(height)=|0|
    • $HASHEXISTS()=|0|
    <-- /actual -->

    Function HASHREVERSE

    Expected

    <-- expected HASHREVERSE -->
    • $SETHASH()=||
    • $LIST2HASH(age, Jane, 26, Tim, 27, Sam, 27)=||
    • $HASHREVERSE(age)=||
    • $HASH2LIST(age, $key: $value)=|26: Jane, 27: Tim|
    • $HASHREVERSE(height)=||
    • $HASH2LIST(height)=||
    • $HASHREVERSE()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $SETHASH()=||
    • $LIST2HASH(age, Jane, 26, Tim, 27, Sam, 27)=||
    • $HASHREVERSE(age)=||
    • $HASH2LIST(age, $key: $value)=|26: Jane, 27: Tim|
    • $HASHREVERSE(height)=||
    • $HASH2LIST(height)=||
    • $HASHREVERSE()=||
    <-- /actual -->

    Function HEX2DEC

    Expected

    <-- expected HEX2DEC -->
    • $HEX2DEC(A5)=|165|
    • $HEX2DEC(3DA408B9)=|1034160313|
    • $HEX2DEC()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $HEX2DEC(A5)=|165|
    • $HEX2DEC(3DA408B9)=|1034160313|
    • $HEX2DEC()=|0|
    <-- /actual -->

    Function HEXDECODE

    Expected

    <-- expected HEXDECODE -->
    • $HEXDECODE(687474703A2F2F7477696B692E6F72672F)=|http://twiki.org/|
    <-- /expected -->

    Actual

    <-- actual -->
    • $HEXDECODE(687474703A2F2F7477696B692E6F72672F)=|http://twiki.org/|
    <-- /actual -->

    Function HEXENCODE

    Expected

    <-- expected HEXENCODE -->
    • $HEXENCODE(http://twiki.org/)=|687474703A2F2F7477696B692E6F72672F|
    <-- /expected -->

    Actual

    <-- actual -->
    • $HEXENCODE(http://twiki.org/)=|687474703A2F2F7477696B692E6F72672F|
    <-- /actual -->

    Function IF

    Expected

    <-- expected IF -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function INSERTSTRING

    Expected

    <-- expected INSERTSTRING -->
    • $INSERTSTRING(abcdefg, 2, XYZ)=|abXYZcdefg|
    • $INSERTSTRING(abcdefg, -2, XYZ)=|abcdeXYZfg|
    <-- /expected -->

    Actual

    <-- actual -->
    • $INSERTSTRING(abcdefg, 2, XYZ)=|abXYZcdefg|
    • $INSERTSTRING(abcdefg, -2, XYZ)=|abcdeXYZfg|
    <-- /actual -->

    Function INT

    Expected

    <-- expected INT -->
    • $INT(10 / 4)=|2|
    • $INT($VALUE(09))=|9|
    <-- /expected -->

    Actual

    <-- actual -->
    • $INT(10 / 4)=|2|
    • $INT($VALUE(09))=|9|
    <-- /actual -->

    Function ISDIGIT

    Expected

    <-- expected ISDIGIT -->
    • $ISDIGIT(123)=|1|
    • $ISDIGIT(-7)=|0|
    • $ISDIGIT(abc123)=|0|
    • $ISDIGIT()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $ISDIGIT(123)=|1|
    • $ISDIGIT(-7)=|0|
    • $ISDIGIT(abc123)=|0|
    • $ISDIGIT()=|0|
    <-- /actual -->

    Function ISLOWER

    Expected

    <-- expected ISLOWER -->
    • $ISLOWER(apple)=|1|
    • $ISLOWER(apple tree)=|0|
    • $ISLOWER(ORANGE)=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $ISLOWER(apple)=|1|
    • $ISLOWER(apple tree)=|0|
    • $ISLOWER(ORANGE)=|0|
    <-- /actual -->

    Function ISUPPER

    Expected

    <-- expected ISUPPER -->
    • $ISUPPER(apple)=|0|
    • $ISUPPER(ORANGE)=|1|
    • $ISUPPER(ORANGE GARDEN)=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $ISUPPER(apple)=|0|
    • $ISUPPER(ORANGE)=|1|
    • $ISUPPER(ORANGE GARDEN)=|0|
    <-- /actual -->

    Function ISWIKIWORD

    Expected

    <-- expected ISWIKIWORD -->
    • $ISWIKIWORD(GoldenGate)=|1|
    • $ISWIKIWORD(whiteRafting)=|0|
    • $ISWIKIWORD()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $ISWIKIWORD(GoldenGate)=|1|
    • $ISWIKIWORD(whiteRafting)=|0|
    • $ISWIKIWORD()=|0|
    <-- /actual -->

    Function LEFT

    Expected

    <-- expected LEFT -->
    1 2 $SUM($LEFT())=|3|
    3 4 $SUM($LEFT())=|7|
    <-- /expected -->

    Actual

    <-- actual -->
    1 2 $SUM($LEFT())=|3|
    3 4 $SUM($LEFT())=|7|
    <-- /actual -->

    Function LEFTSTRING

    Expected

    <-- expected LEFTSTRING -->
    • $LEFTSTRING(abcdefg)=|a|
    • $LEFTSTRING(abcdefg, 5)=|abcde|
    • $LEFTSTRING()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $LEFTSTRING(abcdefg)=|a|
    • $LEFTSTRING(abcdefg, 5)=|abcde|
    • $LEFTSTRING()=||
    <-- /actual -->

    Function LENGTH

    Expected

    <-- expected LENGTH -->
    • $LENGTH(abcd)=|4|
    • $LENGTH()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LENGTH(abcd)=|4|
    • $LENGTH()=|0|
    <-- /actual -->

    Function LIST

    Expected

    <-- expected LIST -->
    Apple Banana Citrus $LIST($LEFT())=|Apple, Banana, Citrus|
    <-- /expected -->

    Actual

    <-- actual -->
    Apple Banana Citrus $LIST($LEFT())=|Apple, Banana, Citrus|
    <-- /actual -->

    Function LIST2HASH

    Expected

    <-- expected LIST2HASH -->
    • $SETHASH()=||
    • $LIST2HASH(age, Jane, 26, Tim, 27)=||
    • $GETHASH(age, Jane)=|26|
    • $GETHASH(age, Tim)=|27|
    • $LIST2HASH(age, Anna, 25, Jane, 27, Zoltan)=||
    • $GETHASH(age, Jane)=|27|
    • $GETHASH(age, Tim)=|27|
    • $GETHASH(age)=|Anna, Jane, Tim|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SETHASH()=||
    • $LIST2HASH(age, Jane, 26, Tim, 27)=||
    • $GETHASH(age, Jane)=|26|
    • $GETHASH(age, Tim)=|27|
    • $LIST2HASH(age, Anna, 25, Jane, 27, Zoltan)=||
    • $GETHASH(age, Jane)=|27|
    • $GETHASH(age, Tim)=|27|
    • $GETHASH(age)=|Anna, Jane, Tim|
    <-- /actual -->

    Function LISTIF

    Expected

    <-- expected LISTIF -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function LISTITEM

    Expected

    <-- expected LISTITEM -->
    • $LISTITEM(2, Apple, Orange, Apple, Kiwi)=|Orange|
    • $LISTITEM(-1, Apple, Orange, Apple, Kiwi)=|Kiwi|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTITEM(2, Apple, Orange, Apple, Kiwi)=|Orange|
    • $LISTITEM(-1, Apple, Orange, Apple, Kiwi)=|Kiwi|
    <-- /actual -->

    Function LISTJOIN

    Expected

    <-- expected LISTJOIN -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function LISTEACH

    Expected

    <-- expected LISTEACH -->
    • $LISTEACH($index: $EVAL(2 * $item), 3, 5, 7, 11)=|1: 6, 2: 10, 3: 14, 4: 22|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTEACH($index: $EVAL(2 * $item), 3, 5, 7, 11)=|1: 6, 2: 10, 3: 14, 4: 22|
    <-- /actual -->

    Function LISTNONEMPTY

    Expected

    <-- expected LISTNONEMPTY -->
    • $LISTNONEMPTY(, Apple, Orange, , Kiwi)=|Apple, Orange, Kiwi|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTNONEMPTY(, Apple, Orange, , Kiwi)=|Apple, Orange, Kiwi|
    <-- /actual -->

    Function LISTRAND

    Expected

    <-- expected LISTRAND -->
    • $LISTRAND(Apple, Apple, Apple)=|Apple|
    <-- /expected -->
    • Manual test: $LISTRAND(Apple, Orange, Apple, Kiwi)=|(one of the four)|

    Actual

    <-- actual -->
    • $LISTRAND(Apple, Apple, Apple)=|Apple|
    <-- /actual -->
    • Manual test: $LISTRAND(Apple, Orange, Apple, Kiwi)=|Orange|

    Function LISTREVERSE

    Expected

    <-- expected LISTREVERSE -->
    • $LISTREVERSE(Apple, Orange, Apple, Kiwi)=|Kiwi, Apple, Orange, Apple|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTREVERSE(Apple, Orange, Apple, Kiwi)=|Kiwi, Apple, Orange, Apple|
    <-- /actual -->

    Function LISTSHUFFLE

    Expected

    <-- expected LISTSHUFFLE -->
    • $LISTSHUFFLE(Apple, Apple, Apple)=|Apple, Apple, Apple|
    <-- /expected -->
    • Manual test: $LISTSHUFFLE(Apple, Orange, Apple, Kiwi)=|(4 shuffled items)|

    Actual

    <-- actual -->
    • $LISTSHUFFLE(Apple, Apple, Apple)=|Apple, Apple, Apple|
    <-- /actual -->
    • Manual test: $LISTSHUFFLE(Apple, Orange, Apple, Kiwi)=|Apple, Orange, Apple, Kiwi|

    Function LISTSIZE

    Expected

    <-- expected LISTSIZE -->
    • $LISTSIZE(Apple, Orange, Apple, Kiwi)=|4|
    • $LISTSIZE()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTSIZE(Apple, Orange, Apple, Kiwi)=|4|
    • $LISTSIZE()=|0|
    <-- /actual -->

    Function LISTSORT

    Expected

    <-- expected LISTSORT -->
    • $LISTSORT(Apple, Orange, Apple, Kiwi)=|Apple, Apple, Kiwi, Orange|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTSORT(Apple, Orange, Apple, Kiwi)=|Apple, Apple, Kiwi, Orange|
    <-- /actual -->

    Function LISTTRUNCATE

    Expected

    <-- expected LISTTRUNCATE -->
    • $LISTTRUNCATE(2, Apple, Orange, Apple, Kiwi)=|Apple, Orange|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTTRUNCATE(2, Apple, Orange, Apple, Kiwi)=|Apple, Orange|
    <-- /actual -->

    Function LISTUNIQUE

    Expected

    <-- expected LISTUNIQUE -->
    • $LISTUNIQUE(Apple, Orange, Apple, Kiwi)=|Apple, Orange, Kiwi|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LISTUNIQUE(Apple, Orange, Apple, Kiwi)=|Apple, Orange, Kiwi|
    <-- /actual -->

    Function LN

    Expected

    <-- expected LN -->
    • $LN(10)=|2.30258509299405|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LN(10)=|2.30258509299405|
    <-- /actual -->

    Function LOG

    Expected

    <-- expected LOG -->
    • $LOG(1000)=|3|
    • $LOG(16, 2)=|4|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LOG(1000)=|3|
    • $LOG(16, 2)=|4|
    <-- /actual -->

    Function LOWER

    Expected

    <-- expected LOWER -->
    • $LOWER(this BECOMES a lower cASE String)=|this becomes a lower case string|
    <-- /expected -->

    Actual

    <-- actual -->
    • $LOWER(this BECOMES a lower cASE String)=|this becomes a lower case string|
    <-- /actual -->

    Function MAX

    Expected

    <-- expected MAX -->
    • $MAX(7, 99, 2, 5)=|99|
    • $MAX(A, 99, 2, 5)=|99|
    • $MAX(A, B)=||
    • $MAX()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $MAX(7, 99, 2, 5)=|99|
    • $MAX(A, 99, 2, 5)=|99|
    • $MAX(A, B)=||
    • $MAX()=||
    <-- /actual -->

    Function MEDIAN

    Expected

    <-- expected MEDIAN -->
    • $MEDIAN(3, 9, 4, 5)=|4.5|
    <-- /expected -->

    Actual

    <-- actual -->
    • $MEDIAN(3, 9, 4, 5)=|4.5|
    <-- /actual -->

    Function MIN

    Expected

    <-- expected MIN -->
    • $MIN(7, 99, 2, 5)=|2|
    • $MIN(A, 99, 2, 5)=|2|
    • $MIN(A, B)=||
    • $MIN()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $MIN(7, 99, 2, 5)=|2|
    • $MIN(A, 99, 2, 5)=|2|
    • $MIN(A, B)=||
    • $MIN()=||
    <-- /actual -->

    Function MOD

    Expected

    <-- expected MOD -->
    • $MOD(7, 3)=|1|
    • $MOD(7)=|0|
    • $MOD()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $MOD(7, 3)=|1|
    • $MOD(7)=|0|
    • $MOD()=|0|
    <-- /actual -->

    Function NOEXEC

    Expected

    <-- expected NOEXEC -->
    • $SET(msg, $NOEXEC(Hi $GET(name)))=||
    • $SET(name, Jane)$EXEC($GET(msg))=|Hi Jane|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SET(msg, $NOEXEC(Hi $GET(name)))=||
    • $SET(name, Jane)$EXEC($GET(msg))=|Hi Jane|
    <-- /actual -->

    Function NOP

    Expected

    <-- expected NOP -->
    • $NOP(100$percnt $quotquoted$quot)=|100% "quoted"|
    • $NOP()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $NOP(100$percnt $quotquoted$quot)=|100% "quoted"|
    • $NOP()=||
    <-- /actual -->

    Function NOT

    Expected

    <-- expected NOT -->
    • $NOT(1)=|0|
    • $NOT(0)=|1|
    • $NOT(1234)=|0|
    • $NOT()=|1|
    <-- /expected -->

    Actual

    <-- actual -->
    • $NOT(1)=|0|
    • $NOT(0)=|1|
    • $NOT(1234)=|0|
    • $NOT()=|1|
    <-- /actual -->

    Function NOTE

    Expected

    <-- expected NOTE -->
    • $NOTE(some text)=||
    • $NOTE()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $NOTE(some text)=||
    • $NOTE()=||
    <-- /actual -->

    Function OCT2DEC

    Expected

    <-- expected OCT2DEC -->
    • $OCT2DEC(54)=|44|
    • $OCT2DEC(77777533)=|16777051|
    • $OCT2DEC()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $OCT2DEC(54)=|44|
    • $OCT2DEC(77777533)=|16777051|
    • $OCT2DEC()=|0|
    <-- /actual -->

    Function ODD

    Expected

    <-- expected ODD -->
    • $ODD(2)=|0|
    • $ODD(3)=|1|
    • $ODD(3.5)=|1|
    • $ODD(-4)=|0|
    • $ODD()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $ODD(2)=|0|
    • $ODD(3)=|1|
    • $ODD(3.5)=|1|
    • $ODD(-4)=|0|
    • $ODD()=|0|
    <-- /actual -->

    Function OR

    Expected

    <-- expected OR -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function PERCENTILE

    Expected

    <-- expected PERCENTILE -->
    • $PERCENTILE(75, 400, 200, 500, 100, 300)=|450|
    • $PERCENTILE(60)=|0|
    • $PERCENTILE()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $PERCENTILE(75, 400, 200, 500, 100, 300)=|450|
    • $PERCENTILE(60)=|0|
    • $PERCENTILE()=|0|
    <-- /actual -->

    Function PI

    Expected

    <-- expected PI -->
    • $PI()=|3.14159265358979|
    <-- /expected -->

    Actual

    <-- actual -->
    • $PI()=|3.14159265358979|
    <-- /actual -->

    Function PRODUCT

    Expected

    <-- expected PRODUCT -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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|
    <-- /actual -->

    Function PROPER

    Expected

    <-- expected PROPER -->
    • $PROPER(a small STEP)=|A Small Step|
    • $PROPER(f1 (formula-1))=|F1 (Formula-1)|
    • $PROPER()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $PROPER(a small STEP)=|A Small Step|
    • $PROPER(f1 (formula-1))=|F1 (Formula-1)|
    • $PROPER()=||
    <-- /actual -->

    Function PROPERSPACE

    Expected

    <-- expected PROPERSPACE -->
    • $PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh)=|Old MacDonald had a Server Farm, Ee Eye Ee Eye Oh|
    • $PROPERSPACE()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh)=|Old MacDonald had a Server Farm, Ee Eye Ee Eye Oh|
    • $PROPERSPACE()=||
    <-- /actual -->

    Function RAND

    Expected

    <-- expected RAND -->
    • $IF($RAND()<=1, OK, not OK)=|OK|
    <-- /expected -->
    • Manual test: $RAND(10), $RAND(10), $RAND(10)=|(three random numbers between 0 and 10)|
    • Manual test: $RAND(), $RAND(), $RAND()=|(three random numbers between 0 and 1)|

    Actual

    <-- actual -->
    • $IF($RAND()<=1, OK, not OK)=|OK|
    <-- /actual -->
    • Manual test: $RAND(10), $RAND(10), $RAND(10)=|2.3612723161844, 4.46162370097635, 3.92869878866811|
    • Manual test: $RAND(), $RAND(), $RAND()=|0.510079845620471, 0.318362113601822, 0.282974505367431|

    Function RANDSTRING

    Expected

    • Manual test: $RANDSTRING(), $RANDSTRING(), $RANDSTRING()=|(three random strings of 8 alphanumeric/underscore characters)|
    • 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)=|(three random strings, each of format xxxx-xxxx-xxxx-xxxx, composed of uppercase letters and numbers excluding letter O and number 0)|

    Actual

    • Manual test: $RANDSTRING(), $RANDSTRING(), $RANDSTRING()=|YInl_XBK, S_ttBwZX, sSDt_ywd|
    • 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)=|19E2-V1H6-RU2D-TYSK, 19VN-F2XG-44BG-N5W8, NV68-A1XQ-2Q2P-KNFN|

    Function REPEAT

    Expected

    <-- expected REPEAT -->
    • $REPEAT(/\, 10)=|/\/\/\/\/\/\/\/\/\/\|
    • $REPEAT(x)=||
    • $REPEAT()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $REPEAT(/\, 10)=|/\/\/\/\/\/\/\/\/\/\|
    • $REPEAT(x)=||
    • $REPEAT()=||
    <-- /actual -->

    Function REPLACE

    Expected

    <-- expected REPLACE -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function RIGHT

    Expected

    <-- expected RIGHT -->
    $SUM($RIGHT())=|3| 1 2
    $SUM($RIGHT())=|7| 3 4
    <-- /expected -->

    Actual

    <-- actual -->
    $SUM($RIGHT())=|3| 1 2
    $SUM($RIGHT())=|7| 3 4
    <-- /actual -->

    Function RIGHTSTRING

    Expected

    <-- expected RIGHTSTRING -->
    • $RIGHTSTRING(abcdefg)=|g|
    • $RIGHTSTRING(abcdefg, 0)=|g|
    • $RIGHTSTRING(abcdefg, 1)=|g|
    • $RIGHTSTRING(abcdefg, 2)=|fg|
    • $RIGHTSTRING()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $RIGHTSTRING(abcdefg)=|g|
    • $RIGHTSTRING(abcdefg, 0)=|g|
    • $RIGHTSTRING(abcdefg, 1)=|g|
    • $RIGHTSTRING(abcdefg, 2)=|fg|
    • $RIGHTSTRING()=||
    <-- /actual -->

    Function ROUND

    Expected

    <-- expected ROUND -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function ROW

    Expected

    <-- expected ROW -->

    $ROW()=1 $ROW()=1
    $ROW()=2 $ROW(10)=12
    $ROW()=3 $ROW(-10)=-7
    <-- /expected -->

    Actual

    <-- actual -->
    $ROW()=1 $ROW()=1
    $ROW()=2 $ROW(10)=12
    $ROW()=3 $ROW(-10)=-7
    <-- /actual -->

    Function SEARCH

    Expected

    <-- expected SEARCH -->
    • $SEARCH([uy], fluffy)=|3|
    • $SEARCH([uy], fluffy, 4)=|6|
    • $SEARCH([abc], fluffy,)=|0|
    • $SEARCH(abc)=|0|
    • $SEARCH()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SEARCH([uy], fluffy)=|3|
    • $SEARCH([uy], fluffy, 4)=|6|
    • $SEARCH([abc], fluffy,)=|0|
    • $SEARCH(abc)=|0|
    • $SEARCH()=|0|
    <-- /actual -->

    Function SET

    Expected

    <-- expected SET -->
    • $SET(test, 1234)=||
    • $GET(test)=|1234|
    • $SET(sum, $SUM(1, 2, 3, 4))=||
    • $GET(sum)=|10|
    • $SET(novalue)=||
    • $GET(novalue)=||
    • $SET()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $SET(test, 1234)=||
    • $GET(test)=|1234|
    • $SET(sum, $SUM(1, 2, 3, 4))=||
    • $GET(sum)=|10|
    • $SET(novalue)=||
    • $GET(novalue)=||
    • $SET()=||
    <-- /actual -->

    Function SETHASH

    Expected

    <-- expected SETHASH -->
    • $SETHASH()=||
    • $SETHASH(age, Jane, 26)=||
    • $GETHASH(age, Jane)=|26|
    • $GETHASH()=|age|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SETHASH()=||
    • $SETHASH(age, Jane, 26)=||
    • $GETHASH(age, Jane)=|26|
    • $GETHASH()=|age|
    <-- /actual -->

    Function SETIFEMPTY

    Expected

    <-- expected SETIFEMPTY -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SETLIST

    Expected

    <-- expected SETLIST -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SETM

    Expected

    <-- expected SETM -->
    • $SET(total, 10)=||
    • $SETM(total, +5)=||
    • $SETM(total)=||
    • $GET(total)=|15|
    • $SETM()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $SET(total, 10)=||
    • $SETM(total, +5)=||
    • $SETM(total)=||
    • $GET(total)=|15|
    • $SETM()=||
    <-- /actual -->

    Function SETMHASH

    Expected

    <-- expected SETMHASH -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SIGN

    Expected

    <-- expected SIGN -->
    • $SIGN(12.34)=|1|
    • $SIGN(2)=|1|
    • $SIGN(0)=|0|
    • $SIGN()=|0|
    • $SIGN(-2)=|-1|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SIGN(12.34)=|1|
    • $SIGN(2)=|1|
    • $SIGN(0)=|0|
    • $SIGN()=|0|
    • $SIGN(-2)=|-1|
    <-- /actual -->

    Function SPLIT

    Expected

    <-- expected SPLIT -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SQRT

    Expected

    <-- expected SQRT -->
    • $SQRT(16)=|4|
    • $SQRT(1)=|1|
    • $SQRT()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SQRT(16)=|4|
    • $SQRT(1)=|1|
    • $SQRT()=|0|
    <-- /actual -->

    Function STDEV

    Expected

    <-- expected STDEV -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function STDEVP

    Expected

    <-- expected STDEVP -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SUBSTITUTE

    Expected

    <-- expected SUBSTITUTE -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SUBSTRING

    Expected

    <-- expected SUBSTRING -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function SUM

    Expected

    <-- expected SUM -->
    • $SUM(1, 2, 3, 4, 5)=|15|
    • $SUM(1, x, 3, , 5)=|9|
    • $SUM(1)=|1|
    • $SUM()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SUM(1, 2, 3, 4, 5)=|15|
    • $SUM(1, x, 3, , 5)=|9|
    • $SUM(1)=|1|
    • $SUM()=|0|
    <-- /actual -->

    Function SUMDAYS

    Expected

    <-- expected SUMDAYS -->
    • $SUMDAYS(2w, 1, 2d, 4h)=|13.5|
    • $SUMDAYS(1w, x)=|5|
    • $SUMDAYS()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $SUMDAYS(2w, 1, 2d, 4h)=|13.5|
    • $SUMDAYS(1w, x)=|5|
    • $SUMDAYS()=|0|
    <-- /actual -->

    Function SUMPRODUCT

    Expected

    <-- expected SUMPRODUCT -->
    1 2
    3 4
    $SUMPRODUCT(R1:C1..R2:C1, R1:C2..R2:C2)=|14| $SUMPRODUCT(R1:C1..R2:C1, $ABOVE())=|14|
    <-- /expected -->

    Actual

    <-- actual -->
    1 2
    3 4
    $SUMPRODUCT(R1:C1..R2:C1, R1:C2..R2:C2)=|14| $SUMPRODUCT(R1:C1..R2:C1, $ABOVE())=|14|
    <-- /actual -->

    Function T

    Expected

    <-- expected T -->
    1 2
    3 4
    $T(R2:C1)=|3| $T(R1:C2)=|2|
    <-- /expected -->

    Actual

    <-- actual -->
    1 2
    3 4
    $T(R2:C1)=|3| $T(R1:C2)=|2|
    <-- /actual -->

    Function TIME

    Expected

    <-- expected TIME -->
    • $TIME(2012-12-31 GMT)=|1356912000|
    <-- /expected -->
    • Manual test: $TIME($FORMATTIME($TIME(), $year-$mo-$day))=|(today)|

    Actual

    <-- actual -->
    • $TIME(2012-12-31 GMT)=|1356912000|
    <-- /actual -->
    • Manual test: $TIME($FORMATTIME($TIME(), $year-$mo-$day))=|2024-11-02|

    Function TIMEADD

    Expected

    <-- expected TIMEADD -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function TIMEDIFF

    Expected

    <-- expected TIMEDIFF -->
    • $TIMEDIFF($TIME(), $EVAL($TIME()+90), minute)=|1.5|
    • $TIMEDIFF($ROUND($TIMEDIFF($TIME(2012-12-06),$TIME(2012-12-13), day)))=|7|
    • $TIMEDIFF()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $TIMEDIFF($TIME(), $EVAL($TIME()+90), minute)=|1.5|
    • $TIMEDIFF($ROUND($TIMEDIFF($TIME(2012-12-06),$TIME(2012-12-13), day)))=|7|
    • $TIMEDIFF()=|0|
    <-- /actual -->

    Function TODAY

    Expected

    <-- expected TODAY -->
    • (can't be tested automatically)
    <-- /expected -->
    • Manual test: $TIME($FORMATTIME($TODAY(), $year-$mo-$day $hour:$min:$sec GMT))=|(this morning midnight GMT)|

    Actual

    <-- actual -->
    • (can't be tested automatically)
    <-- /actual -->
    • Manual test: $TIME($FORMATTIME($TODAY(), $year-$mo-$day $hour:$min:$sec GMT))=|2024-11-02 00:00:00 GMT|

    Function TRANSLATE

    Expected

    <-- expected TRANSLATE -->
    • $TRANSLATE(boom,bm,cl)=|cool|
    • $TRANSLATE(one, two,$comma,;)=|one; two|
    • $TRANSLATE()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $TRANSLATE(boom,bm,cl)=|cool|
    • $TRANSLATE(one, two,$comma,;)=|one; two|
    • $TRANSLATE()=||
    <-- /actual -->

    Function TRIM

    Expected

    <-- expected TRIM -->
    • $TRIM( eat spaces )=|eat spaces|
    • $TRIM()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $TRIM( eat spaces )=|eat spaces|
    • $TRIM()=||
    <-- /actual -->

    Function UPPER

    Expected

    <-- expected UPPER -->
    • $UPPER(this beCOMES an UPPER cASE String)=|THIS BECOMES AN UPPER CASE STRING|
    • $UPPER()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $UPPER(this beCOMES an UPPER cASE String)=|THIS BECOMES AN UPPER CASE STRING|
    • $UPPER()=||
    <-- /actual -->

    Function VALUE

    Expected

    <-- expected VALUE -->
    • $VALUE(US$1,200)=|1200|
    • $VALUE(PrjNotebook1234)=|1234|
    • $VALUE(Total: -12.5)=|-12.5|
    • $VALUE()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $VALUE(US$1,200)=|1200|
    • $VALUE(PrjNotebook1234)=|1234|
    • $VALUE(Total: -12.5)=|-12.5|
    • $VALUE()=|0|
    <-- /actual -->

    Function VAR

    Expected

    <-- expected VAR -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function VARP

    Expected

    <-- expected VARP -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function WHILE

    Expected

    <-- expected WHILE -->
    • $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()=||
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    Function WORKINGDAYS

    Expected

    <-- expected WORKINGDAYS -->
    • $WORKINGDAYS($TIME(2012-07-15 GMT), $TIME(2012-08-03 GMT))=|14|
    • $WORKINGDAYS()=|0|
    <-- /expected -->

    Actual

    <-- actual -->
    • $WORKINGDAYS($TIME(2012-07-15 GMT), $TIME(2012-08-03 GMT))=|14|
    • $WORKINGDAYS()=|0|
    <-- /actual -->

    Function XOR

    Expected

    <-- expected XOR -->
    • $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|
    <-- /expected -->

    Actual

    <-- actual -->
    • $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 -->

    • Set EDITMETHOD = raw

    Related Topics: SpreadSheetPlugin, VarCALC, VarCALCULATE

    -- TWiki:Main.PeterThoeny - 2014-10-24

     
    This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
    Ideas, requests, problems regarding TWiki? Send feedback
    Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.SpreadSheetPluginTestCases.