30 %MACRO assertEquals (i_expected =
32 ,i_desc = Compare Values
38 %IF &g_inTestcase EQ 1 %THEN %DO;
41 %ELSE %IF &g_inTestcase NE 2 %THEN %DO;
42 %PUT &g_error.(SASUNIT): assert must be called after initTestcase;
47 %LET l_expected = &i_expected;
51 %IF %sysfunc(prxmatch(
"^[0-9]*.?[0-9]*$",&i_expected))=0
52 OR %sysfunc(prxmatch(
"^[0-9]*.?[0-9]*$",&i_actual))=0 %THEN %DO;
53 %LET l_result = %eval((
"&i_expected" NE
"&i_actual")*2);
56 %ELSE %IF %quote(&i_fuzz) NE %THEN %DO;
57 %LET l_expected = %quote(&l_expected(+-&i_fuzz));
58 %IF %sysevalf(%sysfunc(abs(%sysevalf(&i_expected - &i_actual))) <= &i_fuzz)
59 %THEN %LET l_result = 0;
60 %ELSE %LET l_result = 2;
64 %IF %quote(&i_expected) = %quote(&i_actual)
65 %THEN %LET l_result = 0;
66 %ELSE %LET l_result = 2;
71 ,i_expected = &l_expected