mirror of
https://github.com/sasjs/core.git
synced 2025-12-10 14:04:36 +00:00
94 lines
1.7 KiB
SAS
94 lines
1.7 KiB
SAS
/**
|
|
@file
|
|
@brief Testing mp_loadformat.sas macro
|
|
|
|
<h4> SAS Macros </h4>
|
|
@li mddl_dc_difftable.sas
|
|
@li mp_loadformat.sas
|
|
@li mp_assert.sas
|
|
@li mp_assertscope.sas
|
|
|
|
**/
|
|
|
|
/* prep format catalog */
|
|
libname perm (work);
|
|
|
|
%mddl_dc_difftable(libds=perm.audit)
|
|
|
|
data work.loadfmts;
|
|
length fmtname $32;
|
|
eexcl='Y';
|
|
type='N';
|
|
do i=1 to 100;
|
|
fmtname=cats('SASJS_',i,'X');
|
|
do j=1 to 100;
|
|
start=cats(j);
|
|
end=cats(j+1);
|
|
label= cats('Dummy ',start);
|
|
output;
|
|
end;
|
|
end;
|
|
run;
|
|
proc format cntlin=work.loadfmts library=perm.testcat;
|
|
run;
|
|
|
|
/* make some test data */
|
|
data work.stagedata;
|
|
set work.loadfmts;
|
|
type='N';
|
|
eexcl='Y';
|
|
if _n_<150 then deleteme='Yes';
|
|
else if _n_<250 then label='mod'!!cats(_n_);
|
|
else if _n_<350 then do;
|
|
start=cats(_n_);
|
|
end=cats(_n_+1);
|
|
label='newval'!!cats(_N_);
|
|
end;
|
|
else stop;
|
|
run;
|
|
|
|
/* load the above */
|
|
%mp_assertscope(SNAPSHOT)
|
|
%mp_loadformat(perm.testcat
|
|
,work.stagedata
|
|
,loadtarget=YES
|
|
,auditlibds=perm.audit
|
|
,locklibds=0
|
|
,delete_col=deleteme
|
|
,outds_add=add_test1
|
|
,outds_del=del_test1
|
|
,outds_mod=mod_test1
|
|
,mdebug=1
|
|
)
|
|
%mp_assertscope(COMPARE)
|
|
|
|
%mp_assert(
|
|
iftrue=(%mf_nobs(del_test1)=149),
|
|
desc=Test 1 - delete obs,
|
|
outds=work.test_results
|
|
)
|
|
%mp_assert(
|
|
iftrue=(%mf_nobs(add_test1)=100),
|
|
desc=Test 1 - add obs,
|
|
outds=work.test_results
|
|
)
|
|
%mp_assert(
|
|
iftrue=(%mf_nobs(mod_test1)=100),
|
|
desc=Test 1 - mod obs,
|
|
outds=work.test_results
|
|
)
|
|
%mp_assert(
|
|
iftrue=(%mf_nobs(perm.audit)=7329),
|
|
desc=Test 1 - audit table updated,
|
|
outds=work.test_results
|
|
)
|
|
data work.difftest;
|
|
set perm.audit;
|
|
where is_diff=1;
|
|
run;
|
|
%mp_assert(
|
|
iftrue=(%mf_nobs(work.difftest)>0),
|
|
desc=Test 1 - diffs were found,
|
|
outds=work.test_results
|
|
)
|