13%mp_assertscope(SNAPSHOT)
14%let x=%mf_wordsinstr1andstr2(str1=xx DOLLAR x $CHAR xxx W MONNAME
15 ,str2=DOLLAR $CHAR W MONNAME xxxxxx
17%mp_assertscope(COMPARE,ignorelist=x)
21 "&x"=
"DOLLAR $CHAR W MONNAME"
23 desc=Checking basic
string,
24 outds=work.test_results
30 "%mf_wordsinstr1andstr2(str1=var1 var10,str2=var var1)"=
"var1"
32 desc=Checking word boundaries,
33 outds=work.test_results
39 "%mf_wordsinstr1andstr2(str1=DOLLAR dollar,str2=DOLLAR)"=
"DOLLAR"
41 desc=Checking
case sensitivity,
42 outds=work.test_results
48 "%mf_wordsinstr1andstr2(str1=a a b,str2=a)"=
"a a"
50 desc=Checking duplicate words,
51 outds=work.test_results
57 "%mf_wordsinstr1andstr2(str1=a b,str2=c d)"=
""
59 desc=Checking empty result,
60 outds=work.test_results
66 "%mf_wordsinstr1andstr2(str1=,str2=a b)"=
""
68 desc=Checking empty str1,
69 outds=work.test_results
75 "%mf_wordsinstr1andstr2(str1=a b,str2=)"=
""
77 desc=Checking empty str2,
78 outds=work.test_results
84 length str1 str2 $32767;
87 str1=catx(' ',str1,word);
88 if mod(i,10)=0 then str2=catx(' ',str2,word);
90 call symputx('str1',str1);
91 call symputx('str2',str2);
94%mp_assertscope(SNAPSHOT)
95%let result=%mf_wordsinstr1andstr2(str1=&str1,str2=&str2);
96%mp_assertscope(COMPARE,ignorelist=result)
98%let count=%sysfunc(countw(&result));
104 desc=Checking 1000 variable
string returns 100 words,
105 outds=work.test_results
112 desc=Checking 1000 variable
string content,
113 outds=work.test_results