47proc format library=&cat1;
48 value $genderml (multilabel notsorted)
53 '1',
'2',
' '=
'Total people';
54 value agemla (multilabel)
58 value agemlb (multilabel)
65 value agemlc (multilabel notsorted)
71%mp_cntlout(libcat=&cat1,cntlout=work.cntlout1)
72%mp_assertdsobs(work.cntlout1,
79 if fmtname=
'AGEMLA' and label ne
'Preschool' then deleteme=
'Yes';
80 if fmtname=
'AGEMLB' and label =
'Preschool' then label=
'Kids';
81 if fmtname=
'GENDERML' and label=
'Farmale' then
do;
92 ,auditlibds=perm.audit
102 iftrue=(%mf_nobs(del_test1)=2),
103 desc=Test 1 - deleted obs,
104 outds=work.test_results
107 iftrue=(%mf_nobs(mod_test1)=4),
108 desc=Test 1 - mod obs,
109 outds=work.test_results
112 iftrue=(%mf_nobs(add_test1)=1),
113 desc=Test 1 - add obs,
114 outds=work.test_results
118%mp_cntlout(libcat=&cat1,cntlout=work.cntlout2)
125 where fmtname=
'GENDERML';
126 putlog fmtrow= label=;
127 if _n_=4 and label=
'Farmale' then call symputx(
'check1',1);
128 if _n_=5 and label ne
'Farmale' then call symputx(
'check2',1);
129 if _n_=8 and label =
'Farmale' then call symputx(
'check3',1);
132 iftrue=(&check1=1 and &check2=1 and &check3=1),
133 desc=Ensuring Farmale values retain their order,
134 outds=work.test_results
142options insert=(fmtsearch=(&cat1));
143%mp_getformats(fmtlist=AGEMLA AGEMLB AGEMLC $GENDERML,outsummary=work.fmtdels)
147select distinct cats(fmtname) into: fmtlist separated by ' ' from work.fmtdels;
150 iftrue=(%mf_nobs(fmtdels)=4),
151 desc=Deletion test 1 - ensure formats exist for deletion (&fmtlist found),
152 outds=work.test_results
156%mp_cntlout(libcat=&cat1,cntlout=work.cntloutdel1)
157data work.stagedatadel1;
158 set work.cntloutdel1;
165 ,auditlibds=perm.audit
168 ,outds_add=add_testdel1
169 ,outds_del=del_testdel1
170 ,outds_mod=mod_testdel1
173%mp_getformats(fmtlist=AGEMLA,outsummary=work.fmtdel1)
175 iftrue=(%mf_nobs(fmtdel1)=0),
176 desc=Deletion test 1 - ensure AGEMLA format was fully deleted,
177 outds=work.test_results
181data work.stagedatadel2;
182 set work.cntloutdel1;
185 if x>1 then deleteme='Yes';
190 ,auditlibds=perm.audit
193 ,outds_add=add_testdel2
194 ,outds_del=del_testdel2
195 ,outds_mod=mod_testdel2
198%mp_getformats(fmtlist=AGEMLB,outsummary=work.fmtdel2)
200 iftrue=(%mf_nobs(fmtdel2)=1),
201 desc=Deletion test 2 - ensure AGEMLB format was not fully deleted,
202 outds=work.test_results
207data work.stagedatadel3;
208 set work.cntloutdel1;
209 if fmtname='GENDERML';
212data work.stagedatadel3;
213 set work.stagedatadel3 end=last;
228 ,auditlibds=perm.audit
231 ,outds_add=add_testdel2
232 ,outds_del=del_testdel2
233 ,outds_mod=mod_testdel2
236%mp_getformats(fmtlist=$GENDERML,outsummary=work.fmtdel3)
238 iftrue=(%mf_nobs(fmtdel3)=1),
239 desc=Deletion test 3 - ensure GENDERML format was not fully deleted,
240 outds=work.test_results
243%mp_ds2md(work.fmtdel3)