Difference: SpreadSheetPluginTestCases (1 vs. 4)

Revision 42015-06-07 - TWikiContributor

Line: 1 to 1
 

SpreadSheetPlugin Testing

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

Line: 474 to 474
 
<-- /actual -->
Added:
>
>

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

Line: 1797 to 1819
 
<-- /actual -->
Added:
>
>

Function NOTE

Expected

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

Actual

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

Function OCT2DEC

Expected

Line: 2028 to 2069
 
  • Manual test: $RAND(), $RAND(), $RAND()=|0.0105107289683346, 0.0341855729842884, 0.146422211139679|
Added:
>
>

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()=|m3i4uMPM, _uytXam2, jasaSFCN|
  • 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)=|1WV4-JH9U-BAD4-NL52, BQ8G-EV97-3SST-HGJM, PD79-9TDV-861N-7MVV|
 

Function REPEAT

Expected

Line: 2616 to 2672
 
  • $SUBSTRING(abcdefgh,3,5)=|cdefg|
  • Added:
    >
    >
  • $SUBSTRING(abcdefgh,8,5)=|h|
  • $SUBSTRING(abcdefgh,9,5)=||
  •  
  • $SUBSTRING(abcdefg,-2,2)=|fg|
  • $SUBSTRING(abcdefg,-1,2)=|g|
  • Added:
    >
    >
  • $SUBSTRING(abcdefg,-7,2)=|ab|
  • $SUBSTRING(abcdefg,-8,2)=||
  •  
  • $SUBSTRING(abcdefg,0,2)=||
  • $SUBSTRING(abcdefg,1,2)=|ab|
  • Line: 2643 to 2707
     
    <-- actual -->
    • $SUBSTRING(abcdef,3,5)=|cdef|
    • $SUBSTRING(abcdefgh,3,5)=|cdefg|
    Added:
    >
    >
    • $SUBSTRING(abcdefgh,8,5)=|h|
    • $SUBSTRING(abcdefgh,9,5)=||
     
    • $SUBSTRING(abcdefg,-2,2)=|fg|
    • $SUBSTRING(abcdefg,-1,2)=|g|
    Added:
    >
    >
    • $SUBSTRING(abcdefg,-7,2)=|ab|
    • $SUBSTRING(abcdefg,-8,2)=||
     
    • $SUBSTRING(abcdefg,0,2)=||
    • $SUBSTRING(abcdefg,1,2)=|ab|
    • $SUBSTRING(abcdefg,2,2)=|bc|
    Line: 3102 to 3170
      Related Topics: SpreadSheetPlugin, VarCALC, VarCALCULATE
    Changed:
    <
    <
    -- TWiki:Main.PeterThoeny - 2013-03-20
    >
    >
    -- TWiki:Main.PeterThoeny - 2014-10-24

    Revision 32014-01-23 - TWikiContributor

    Line: 1 to 1
     

    SpreadSheetPlugin Testing

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

    Line: 83 to 83
     
    <-- /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

    Line: 807 to 844
     
    <-- /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

    Line: 2282 to 2341
     
    <-- /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

    Revision 22013-03-26 - TWikiContributor

    Line: 1 to 1
     

    SpreadSheetPlugin Testing

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

    Line: 157 to 157
     
    <-- /actual -->
    Added:
    >
    >

    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

    Line: 296 to 318
     
    <-- /actual -->
    Added:
    >
    >

    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

    Line: 664 to 758
     
    <-- /actual -->
    Added:
    >
    >

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

    Line: 932 to 1261
     

    Function LIST

    Expected

    Changed:
    <
    <
    <-- expected LENGTH -->
    >
    >
    <-- expected LIST -->
     
    Apple
    Line: 948 to 1277
     
    <-- /actual -->
    Added:
    >
    >

    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

    Line: 1013 to 1379
     
    <-- /actual -->
    Changed:
    <
    <

    Function LISTMAP

    >
    >

    Function LISTEACH

     

    Expected

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

      Actual

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

      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

      Line: 1829 to 2217
       
      <-- /actual -->
      Added:
      >
      >

      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

      Line: 1897 to 2310
       
      <-- /actual -->
      Added:
      >
      >

      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

      Line: 2046 to 2490
       
      • $SUBSTITUTE(Good morning, morning, day)=|Good day|
      Added:
      >
      >
    • $SUBSTITUTE('''Good, early morning''', morning, '''day''')=|Good, early day|
    •  
    • $SUBSTITUTE(Q2-2012, 2, 3)=|Q3-3013|
    • $SUBSTITUTE(Q2-2012,2, 3, 3)=|Q2-2013|
    • Line: 2062 to 2508
       

      Actual

      <-- actual -->
      • $SUBSTITUTE(Good morning, morning, day)=|Good day|
      Added:
      >
      >
      • $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|
      Line: 2093 to 2540
       
    • $SUBSTRING(abcdefg,-2,-1)=|f|
    • Added:
      >
      >
    • $SUBSTRING(abc,def,3,3)=|c,d|
    •  
    • $SUBSTRING(abcdefg)=||
    • $SUBSTRING()=||
    • Line: 2111 to 2560
       
      • $SUBSTRING(abcdefg,2,2)=|bc|
      • $SUBSTRING(abcdefg,2,-1)=|bcdef|
      • $SUBSTRING(abcdefg,-2,-1)=|f|
      Added:
      >
      >
      • $SUBSTRING(abc,def,3,3)=|c,d|
       
      • $SUBSTRING(abcdefg)=||
      • $SUBSTRING()=||
      <-- /actual -->
      Line: 2558 to 3008
       }
      Added:
      >
      >
      • Set EDITMETHOD = raw
       Related Topics: SpreadSheetPlugin, VarCALC, VarCALCULATE
      Changed:
      <
      <
      -- TWiki:Main.PeterThoeny - 2012-11-01
      >
      >
      -- TWiki:Main.PeterThoeny - 2013-03-20

      Revision 12012-11-06 - TWikiContributor

      Line: 1 to 1
      Added:
      >
      >

      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 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 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 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 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 LENGTH -->
      Apple Banana Citrus $LIST($LEFT())=|Apple, Banana, Citrus|
      <-- /expected -->

      Actual

      <-- actual -->
      Apple Banana Citrus $LIST($LEFT())=|Apple, Banana, Citrus|
      <-- /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 LISTMAP

      Expected

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

      Actual

      <-- actual -->
      • $LISTMAP($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)=|Kiwi|

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

      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 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)=|5.32645059707512, 3.89650838032924, 1.78719045009657|
      • Manual test: $RAND(), $RAND(), $RAND()=|0.0565098497612517, 0.0940677415660431, 0.276964867345388|

      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 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 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 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(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(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(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(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))=|2019-08-23|

      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))=|2019-08-23 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 -->

      Related Topics: SpreadSheetPlugin, VarCALC, VarCALCULATE

      -- TWiki:Main.PeterThoeny - 2012-11-01

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