attach 'string'

a = 'David Sugarman'
put 'Testing LEFT function on string [' , a , ']' , do newline 
put '>' , call ('left' , a , -1) , '<' 
put do newline 
put '>' , call ('left' , a ,  1) , '<' 
put do newline 
put '>' , call ('left' , a ,  5) , '<' 
put do newline 
put '>' , call ('left' , a , 11) , '<' 
put do newline 
put '>' , call ('left' , a , 31) , '<' 

put do newline
put do newline 
put do newline 
put 'Testing RIGHT function on string [' , a , ']' , do newline 
put '>' , call ('right' , a , -1) , '<' 
put do newline 
put '>' , call ('right' , a ,  1) , '<' 
put do newline 
put '>' , call ('right' , a ,  5) , '<' 
put do newline 
put '>' , call ('right' , a , 11) , '<' 
put do newline 
put '>' , call ('right' , a , 31) , '<' 
put do newline 
put do newline 

x = true
get x 

put do newline
put 'Testing MID function on string [' , a , ']' , do newline 
put 'Start, Length' , do newline    
put '    3,     -1 >' , call ('mid' , a ,  3 , -1) , '<' 
put do newline 
put '   -5,     -5 >' , call ('mid' , a , -5 , -5) , '<' 
put do newline 
put '   -3,      1 >' , call ('mid' , a , -3 ,  1) , '<' 
put do newline 
put '   31,      4 >' , call ('mid' , a , 31 ,  4) , '<' 
put do newline 
put '   31,     -4 >' , call ('mid' , a , 31 , -4) , '<' 
put do newline 
put '   -7,      5 >' , call ('mid' , a , -7 ,  5) , '<' 
put do newline 
put '    3,      1 >' , call ('mid' , a ,  3 ,  1) , '<' 
put do newline 
put '    5,      5 >' , call ('mid' , a ,  5 ,  5) , '<' 
put do newline 
put '    2,     11 >' , call ('mid' , a ,  2 , 11) , '<' 
put do newline 
put '    2,     31 >' , call ('mid' , a ,  2 , 31) , '<' 
put do newline 
put do newline 

x = true
get x 

a = 'david z sugaRMAN'
put do newline 
put 'Testing functions on string [' , a , ']' , do newline 
put 'Lowercase >' , call ('lcase' , a ) , '<' 
put do newline 
put 'Uppercase >' , call ('ucase' , a ) , '<' 
put do newline 
put 'Proper    >' , call ('proper' , a ) , '<' 
put do newline 
put 'Forename  >' , call ('forename' , a ) , '<' 
put do newline 
put 'Initials  >' , call ('initials' , a ) , '<' 
put do newline 
put 'Surname   >' , call ('surname' , a ) , '<' 
put do newline 
put do newline 

x = true
get x 

put do newline 
put 'Testing functions on string [' , a , ']' , do newline 
put 'Substr  5 >' , call ('substr' , a , 5 ) , '<' 
put do newline 
put 'Substr  9 >' , call ('substr' , a , 9 ) , '<' 
put do newline 
put 'Substr 13 >' , call ('substr' , a ,13 ) , '<' 
put do newline 
put 'Substr  0 >' , call ('substr' , a , 0 ) , '<' 
put do newline 
put 'Substr 31 >' , call ('substr' , a ,31 ) , '<' 
put do newline 
put 'Substr -5 >' , call ('substr' , a ,-5 ) , '<' 
put do newline 
put do newline 

x = true
get x 

put do newline 

a = '    dadsadsadsadasda       ' 
put 'Testing functions on string [' , a , ']' , do newline 

put 'Trim >' , call ('trim' , a) , '<' , do newline 

put do newline 
put do newline 

x = true
get x 

detach 'string'
