Difference: SpreadSheetPluginTestCases (2 vs. 3)

Revision 32014-01-23 - TWikiContributor

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 -->
Added:
>
>

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 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|
  • $FILTER([^0-9], 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|
  • $FILTER([^0-9], 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 -->
Added:
>
>

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: Sam|
  • $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)=|Apple|

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, Apple, Kiwi, Orange|

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 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)=|8.88945622950843, 1.4320522017665, 1.67066373470341|
  • Manual test: $RAND(), $RAND(), $RAND()=|0.816287024945172, 0.686297575758132, 0.211337874446738|

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 -->
Added:
>
>

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(abcdefg,-2,2)=|fg|
  • $SUBSTRING(abcdefg,-1,2)=|g|
  • $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(abcdefg,-2,2)=|fg|
  • $SUBSTRING(abcdefg,-1,2)=|g|
  • $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))=|2022-08-10|

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))=|2022-08-11 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 - 2013-03-20

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2022 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.