48proc format library=&cat1;
49 value $genderml (multilabel notsorted)
54 '1',
'2',
' '=
'Total people';
55 value agemla (multilabel)
59 value agemlb (multilabel)
66 value agemlc (multilabel notsorted)
72%mp_cntlout(libcat=&cat1,cntlout=work.cntlout1)
73%mp_assertdsobs(work.cntlout1,
80 if fmtname=
'AGEMLA' and label ne
'Preschool' then deleteme=
'Yes';
81 if fmtname=
'AGEMLB' and label =
'Preschool' then label=
'Kids';
82 if fmtname=
'GENDERML' and label=
'Farmale' then
do;
93 ,auditlibds=perm.audit
103 iftrue=(%mf_nobs(del_test1)=2),
104 desc=Test 1 - deleted obs,
105 outds=work.test_results
108 iftrue=(%mf_nobs(mod_test1)=4),
109 desc=Test 1 - mod obs,
110 outds=work.test_results
113 iftrue=(%mf_nobs(add_test1)=1),
114 desc=Test 1 - add obs,
115 outds=work.test_results
119%mp_cntlout(libcat=&cat1,cntlout=work.cntlout2)
126 where fmtname=
'GENDERML';
127 putlog fmtrow= label=;
128 if _n_=4 and label=
'Farmale' then call symputx(
'check1',1);
129 if _n_=5 and label ne
'Farmale' then call symputx(
'check2',1);
130 if _n_=8 and label =
'Farmale' then call symputx(
'check3',1);
133 iftrue=(&check1=1 and &check2=1 and &check3=1),
134 desc=Ensuring Farmale values retain their order,
135 outds=work.test_results
143options insert=(fmtsearch=(&cat1));
144%mp_getformats(fmtlist=AGEMLA AGEMLB AGEMLC $GENDERML,outsummary=work.fmtdels)
148select distinct cats(fmtname) into: fmtlist separated by ' ' from work.fmtdels;
151 iftrue=(%mf_nobs(fmtdels)=4),
152 desc=Deletion test 1 - ensure formats exist for deletion (&fmtlist found),
153 outds=work.test_results
157%mp_cntlout(libcat=&cat1,cntlout=work.cntloutdel1)
158data work.stagedatadel1;
159 set work.cntloutdel1;
166 ,auditlibds=perm.audit
169 ,outds_add=add_testdel1
170 ,outds_del=del_testdel1
171 ,outds_mod=mod_testdel1
174%mp_getformats(fmtlist=AGEMLA,outsummary=work.fmtdel1)
176 iftrue=(%mf_nobs(fmtdel1)=0),
177 desc=Deletion test 1 - ensure AGEMLA format was fully deleted,
178 outds=work.test_results
182data work.stagedatadel2;
183 set work.cntloutdel1;
186 if x>1 then deleteme='Yes';
191 ,auditlibds=perm.audit
194 ,outds_add=add_testdel2
195 ,outds_del=del_testdel2
196 ,outds_mod=mod_testdel2
199%mp_getformats(fmtlist=AGEMLB,outsummary=work.fmtdel2)
201 iftrue=(%mf_nobs(fmtdel2)=1),
202 desc=Deletion test 2 - ensure AGEMLB format was not fully deleted,
203 outds=work.test_results
208data work.stagedatadel3;
209 set work.cntloutdel1;
210 if fmtname='GENDERML';
213data work.stagedatadel3;
214 set work.stagedatadel3 end=last;
229 ,auditlibds=perm.audit
232 ,outds_add=add_testdel2
233 ,outds_del=del_testdel2
234 ,outds_mod=mod_testdel2
237%mp_getformats(fmtlist=$GENDERML,outsummary=work.fmtdel3)
239 iftrue=(%mf_nobs(fmtdel3)=1),
240 desc=Deletion test 3 - ensure GENDERML format was not fully deleted,
241 outds=work.test_results
244%mp_ds2md(work.fmtdel3)