19991130-01:55 GMT+1 Victor Szel <info@szelvesz.hu>

This commit is contained in:
Viktor Szakats
1999-11-30 01:06:26 +00:00
parent 22307d9abf
commit 10c13e6260
2 changed files with 213 additions and 0 deletions

View File

@@ -1,3 +1,7 @@
19991130-01:55 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/regress/rt_trans.prg
+ 146 TRANSFORM() regression tests added, 43 of them fail.
19991130-01:28 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/regress/rt_str.prg
+ More VAL() regression tests added, 15 of them fail.

View File

@@ -138,6 +138,7 @@ INIT PROCEDURE RT_InitStatics()
RETURN
FUNCTION Main_TRANS()
LOCAL cOldDate := Set( _SET_DATEFORMAT )
/* TRANSFORM() */
@@ -348,5 +349,213 @@ FUNCTION Main_TRANS()
TEST_LINE( Transform( 0 , "@BZ 9999" ) , " " )
TEST_LINE( Transform( 2334 , "Xxxxx: #####") , "Xxxxx: 2334" )
TEST_LINE( Transform("Hello", "@S-1") , "Hello" )
TEST_LINE( Transform("Hello", "@S3.0!") , "HEL" )
TEST_LINE( Transform("Hello", "@S3") , "Hel" )
TEST_LINE( Transform("Hello", "@S13") + "<" , "Hello<" )
TEST_LINE( Transform("Hello", "@S000000000003K") , "Hel" )
TEST_LINE( Transform("Hello", "@S3K") , "Hel" )
TEST_LINE( Transform("Hello", "@S 3K") , "3K" )
TEST_LINE( Transform("Hello", "@S3"+Chr(9)) , "Hel" )
TEST_LINE( Transform("abcdef","@! !lkm!") , "ABkmE" )
TEST_LINE( Transform("abcdef","@! !LKM!") , "ABKME" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@! !lkm!x") , "ABkmEF" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@! abcdefghijklmnopqrstuvwxyz") , "AbcdefghijkLmNopqrstuvwXYz" )
// Harbour PP fails on this.
#ifndef __HARBOUR__
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@! `~!@#$%^&*()_+-={}[]\|;':") , "`~C@E$%^&*()_+-={}[]\|;':" )
#endif
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@! ,./<>?") , ",./<>?" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! ,./<>?" ) , ",./<>?ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! ,./<>" ) , ",./<>ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! ,./<" ) , ",./<ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! ,./" ) , ",./ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! ,." ) , ",.ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! ," ) , ",ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! " ) , "ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! 0" ) , "0ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("abcdefghijklmnopqrstuvwxyz", "@R! B" ) , "BABCDEFGHIJKLMNOPQRSTUVWXYZ" )
TEST_LINE( Transform("zbcdefghijklmnopqrstuvwxya", "@R! A" ) , "Z" )
TEST_LINE( Transform("zbcdefghijklmnopqrstuvwxya", "@R! Z" ) , "ZZBCDEFGHIJKLMNOPQRSTUVWXYA" )
TEST_LINE( Transform(" Hello ", "@Z") , " " )
TEST_LINE( Transform("Hello", "@Z") , " " )
TEST_LINE( Transform("", "@Z") , "" )
TEST_LINE( Transform(" ", "@Z") , " " )
TEST_LINE( Transform(" Hello ", "@Z z") , " " )
TEST_LINE( Transform("Hello", "@Z z") , " " )
TEST_LINE( Transform("", "@Z z") , "" )
TEST_LINE( Transform(" ", "@Z z") , " " )
TEST_LINE( Transform("a", "@! Y") , "N" )
TEST_LINE( Transform("b", "@! Y") , "N" )
TEST_LINE( Transform("c", "@! Y") , "N" )
TEST_LINE( Transform("d", "@! Y") , "N" )
TEST_LINE( Transform("e", "@! Y") , "N" )
TEST_LINE( Transform("f", "@! Y") , "N" )
TEST_LINE( Transform("g", "@! Y") , "N" )
TEST_LINE( Transform("h", "@! Y") , "N" )
TEST_LINE( Transform("i", "@! Y") , "N" )
TEST_LINE( Transform("j", "@! Y") , "N" )
TEST_LINE( Transform("k", "@! Y") , "N" )
TEST_LINE( Transform("l", "@! Y") , "N" )
TEST_LINE( Transform("m", "@! Y") , "N" )
TEST_LINE( Transform("n", "@! Y") , "N" )
TEST_LINE( Transform("o", "@! Y") , "N" )
TEST_LINE( Transform("p", "@! Y") , "N" )
TEST_LINE( Transform("q", "@! Y") , "N" )
TEST_LINE( Transform("r", "@! Y") , "N" )
TEST_LINE( Transform("s", "@! Y") , "N" )
TEST_LINE( Transform("t", "@! Y") , "Y" )
TEST_LINE( Transform("u", "@! Y") , "N" )
TEST_LINE( Transform("v", "@! Y") , "N" )
TEST_LINE( Transform("w", "@! Y") , "N" )
TEST_LINE( Transform("x", "@! Y") , "N" )
TEST_LINE( Transform("y", "@! Y") , "Y" )
TEST_LINE( Transform("z", "@! Y") , "N" )
TEST_LINE( Transform("t", "Y") , "Y" )
TEST_LINE( Transform("y", "Y") , "Y" )
TEST_LINE( Transform("T", "Y") , "Y" )
TEST_LINE( Transform("Y", "Y") , "Y" )
TEST_LINE( Transform("T", "@! Y") , "Y" )
TEST_LINE( Transform("Y", "@! Y") , "Y" )
TEST_LINE( Transform("abc", "@R !!!!") , "ABC " )
TEST_LINE( Transform("abc", "@R XXXX") , "abc " )
TEST_LINE( Transform("abc", "@R !!") , "AB" )
TEST_LINE( Transform("abc", "@R XX") , "ab" )
TEST_LINE( Transform("abc", "@!R !!!!") , "ABC " )
TEST_LINE( Transform("abc", "@!R XXXX") , "ABC " )
TEST_LINE( Transform("abc", "@!R !!") , "AB" )
TEST_LINE( Transform("abc", "@!R XX") , "AB" )
TEST_LINE( Transform("abc", "@R"+Chr(9)+"!!!!") , "ABC " )
TEST_LINE( Transform("abc", "@R!!!!!!!!!!!!") , "ABC" )
TEST_LINE( Transform("hello", "@ !!") , "HE" )
TEST_LINE( Transform("hello", "@") , "hello" )
TEST_LINE( Transform("hello", "@ ") , "hello" )
TEST_LINE( Transform("hello", " @!") , " @L" )
TEST_LINE( Transform("abcdefgh", "@R! helloy") , "heABoN" )
TEST_LINE( Transform("abcdefgh", "@R helloy") , "heaboN" )
TEST_LINE( Transform("abcdefgh", "@R !!!!!!") , "ABCDEF" )
TEST_LINE( Transform("abcdefgh", "@") , "abcdefgh" )
TEST_LINE( Transform(100, "@B") , "100 " )
TEST_LINE( Transform(100, "@b") , "100 " )
TEST_LINE( Transform(.T., "l") , "T" )
TEST_LINE( Transform(.F., "l") , "F" )
TEST_LINE( Transform(.T., "L") , "T" )
TEST_LINE( Transform(.F., "L") , "F" )
TEST_LINE( Transform(" H", "@B" ) , "H " )
TEST_LINE( Transform(Chr(9)+" H", "@B" ) , ""+Chr(9)+" H" )
TEST_LINE( Transform(" H ", "@B" ) , "H " )
TEST_LINE( Transform(" H", "@Z" ) , " " )
TEST_LINE( Transform(" H", "@ZB" ) , " " )
TEST_LINE( Transform(" H", "@!" ) , " H" )
TEST_LINE( Transform("19800101", "@D" ) , "1980.10." )
TEST_LINE( Transform("19800101", "@DE" ) , "0.81910." )
TEST_LINE( Transform("1980010198765", "@DE" ) , "0.81910.98" )
SET CENTURY ON
TEST_LINE( Transform("19800101", "@D" ) , "1980.10." )
TEST_LINE( Transform("19800101", "@DE" ) , "0.81910." )
TEST_LINE( Transform("1980010198765", "@DE" ) , "0.81910.98" )
SET CENTURY OFF
TEST_LINE( Transform("19800101", "@D" ) , "19.00.01" )
TEST_LINE( Transform("19800101", "@DE" ) , "00.19.01" )
TEST_LINE( Transform("1980010198765", "@DE" ) , "00.19.01" )
TEST_LINE( Transform("1", "@D" ) , "1" )
TEST_LINE( Transform("19800101", "@D" ) , "19.00.01" )
TEST_LINE( Transform("19800101", "@DR" ) , "19.80.01" )
TEST_LINE( Transform("ABCDEFG", "@D" ) , "AB.DE.G" )
TEST_LINE( Transform("abcdefg", "@D !!") , "ab.de.g" )
TEST_LINE( Transform("abcdefg", "@D!") , "AB.DE.G" )
TEST_LINE( Transform("ABCDEFG", "@DB" ) , "AB.DE.G" )
TEST_LINE( Transform(" CDEFG", "@DB" ) , ".DE.G " )
TEST_LINE( Transform("ABCDEFG", "@DBZ" ) , " " )
TEST_LINE( Transform(".", "@E" ) , " " )
TEST_LINE( Transform(",", "@E" ) , "." )
TEST_LINE( Transform("..", "@E" ) , ","+Chr(0)+"" )
TEST_LINE( Transform(",,", "@E" ) , ".." )
TEST_LINE( Transform(",.,", "@E" ) , ",,." )
TEST_LINE( Transform(".,.", "@E" ) , ""+Chr(0)+".." )
TEST_LINE( Transform("OPI", "@E ." ) , ""+Chr(0)+",." )
TEST_LINE( Transform("JKL", "@E ," ) , ""+Chr(0)+"P." )
TEST_LINE( Transform("OPI", "@ER ." ) , "I .OP. " )
TEST_LINE( Transform("JKL", "@ER ," ) , "L .JK. " )
TEST_LINE( Transform("OPI", "@ER" ) , "I .OP. " )
TEST_LINE( Transform("JKL", "@ER" ) , "L .JK. " )
TEST_LINE( Transform(CTOD(""), "@DB") , ". . " )
TEST_LINE( Transform(CTOD(""), "@DBR uiuijk") , ".. . . " )
TEST_LINE( Transform(100, "@B $99999") , "$ 100" )
TEST_LINE( Transform(10, "@BZ $99999") , "$ 10" )
TEST_LINE( Transform(10, "@BX $99999") , "$ 10" )
TEST_LINE( Transform(0, "@BZX $99999") , " " )
TEST_LINE( Transform(-10, "@B(X $99999") , "(10) DB " )
TEST_LINE( Transform(-10, "@(X $99999") , "( 10) DB" )
TEST_LINE( Transform(0, "@B(X $99999") , "$ 0" )
TEST_LINE( Transform(0, "@B(ZX $99999") , " " )
TEST_LINE( Transform(Date(), NIL) , "99.11.30" )
TEST_LINE( Transform(Date(), "") , "99.11.30" )
TEST_LINE( Transform(Date(), "@Z") , " " )
SET(_SET_DATEFORMAT, "DD/MMM/YYYY")
TEST_LINE( Transform( .T., "#") , "T" )
TEST_LINE( Transform( .F., "#") , "F" )
TEST_LINE( Transform( .T., "#ylntfhekko") , "T" )
TEST_LINE( Transform( .F., "#ylntfhekko") , "F" )
TEST_LINE( Transform( .T., "#YLNTFHEKKO") , "T" )
TEST_LINE( Transform( .F., "#YLNTFHEKKO") , "F" )
TEST_LINE( Transform( .T., "YLNTFHEKKO#") , "Y" )
TEST_LINE( Transform( .F., "YLNTFHEKKO#") , "N" )
TEST_LINE( Transform( .T., "XLNTFHEKKO#") , "X" )
TEST_LINE( Transform( .F., "XLNTFHEKKO#") , "X" )
TEST_LINE( Transform( .T., "ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , "A" )
TEST_LINE( Transform( .F., "ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , "A" )
TEST_LINE( Transform( .T., "") , "T" )
TEST_LINE( Transform( .F., "") , "F" )
TEST_LINE( Transform( .T., "@") , "T" )
TEST_LINE( Transform( .F., "@") , "F" )
TEST_LINE( Transform( .T., "@R #") , "T" )
TEST_LINE( Transform( .F., "@R #") , "F" )
TEST_LINE( Transform( .T., "@R #ylntfhekko") , "T ntfhekko" )
TEST_LINE( Transform( .F., "@R #ylntfhekko") , "F ntfhekko" )
TEST_LINE( Transform( .T., "@R #YLNTFHEKKO") , "T NTFHEKKO" )
TEST_LINE( Transform( .F., "@R #YLNTFHEKKO") , "F NTFHEKKO" )
TEST_LINE( Transform( .T., "@R YLNTFHEKKO#") , "Y NTFHEKKO " )
TEST_LINE( Transform( .F., "@R YLNTFHEKKO#") , "N NTFHEKKO " )
TEST_LINE( Transform( .T., "@R XLNTFHEKKO#") , "XTNTFHEKKO " )
TEST_LINE( Transform( .F., "@R XLNTFHEKKO#") , "XFNTFHEKKO " )
TEST_LINE( Transform( .T., "@R ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , "ABCDEFGHIJKTMNOPQRSTUVWX Z9 !$ *.," )
TEST_LINE( Transform( .F., "@R ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , "ABCDEFGHIJKFMNOPQRSTUVWX Z9 !$ *.," )
TEST_LINE( Transform( .T., "@Z #") , " " )
TEST_LINE( Transform( .F., "@Z #") , " " )
TEST_LINE( Transform( .T., "@Z #ylntfhekko") , " " )
TEST_LINE( Transform( .F., "@Z #ylntfhekko") , " " )
TEST_LINE( Transform( .T., "@Z #YLNTFHEKKO") , " " )
TEST_LINE( Transform( .F., "@Z #YLNTFHEKKO") , " " )
TEST_LINE( Transform( .T., "@Z YLNTFHEKKO#") , " " )
TEST_LINE( Transform( .F., "@Z YLNTFHEKKO#") , " " )
TEST_LINE( Transform( .T., "@Z XLNTFHEKKO#") , " " )
TEST_LINE( Transform( .F., "@Z XLNTFHEKKO#") , " " )
TEST_LINE( Transform( .T., "@Z ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , " " )
TEST_LINE( Transform( .F., "@Z ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , " " )
TEST_LINE( Transform( .T., "@RZ #") , " " )
TEST_LINE( Transform( .F., "@RZ #") , " " )
TEST_LINE( Transform( .T., "@RZ #ylntfhekko") , " " )
TEST_LINE( Transform( .F., "@RZ #ylntfhekko") , " " )
TEST_LINE( Transform( .T., "@RZ #YLNTFHEKKO") , " " )
TEST_LINE( Transform( .F., "@RZ #YLNTFHEKKO") , " " )
TEST_LINE( Transform( .T., "@RZ YLNTFHEKKO#") , " " )
TEST_LINE( Transform( .F., "@RZ YLNTFHEKKO#") , " " )
TEST_LINE( Transform( .T., "@RZ XLNTFHEKKO#") , " " )
TEST_LINE( Transform( .F., "@RZ XLNTFHEKKO#") , " " )
TEST_LINE( Transform( .T., "@RZ ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , " " )
TEST_LINE( Transform( .F., "@RZ ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , " " )
Set( _SET_DATEFORMAT, cOldDate )
RETURN NIL