$title 'Check singleton sets in put statement' (SINGLE03,SEQ=644) $onText This test checks the behavior of Singleton Sets in put statements. Contributor: Lutz Westermann, March 2014 $offText set i / i1 t1, i2 t2, i3 t3, i4 t4 / j (i) / i2*i4 some text / ii(i,i) / i1*i4.i1*i4 /; singleton set is (i) / i3 / is2(i) / i1 / iis(i,i) / i3.i4 /; alias(is,as); parameter p(i); p(i) = ord(i); file dummy /'have.txt'/; put dummy; put i.tn(is):15 ' ' i.te(is):0 / j.tn(is):15 ' ' j.te(is):0 / is.tn(is):15 ' ' is.te(is):0 ' ' is.tl:0 / ii.tn(iis):15 ' ' ii.te(iis):0 / ii.tn(is,is2):15 ' ' ii.te(is,is2):0 / p.tn(is):15 ' ' p(is):0 / ; put '---'; loop(i, is(i) = yes; is2(i) = yes; iis(i,i) = yes; put / i.tn(is):15 ' ' i.te(is):0 / j.tn(is):15 ' ' j.te(is):0 / is.tn(is):15 ' ' is.te(is):0 ' ' is.tl:0 / ii.tn(iis):15 ' ' ii.te(iis):0 / ii.tn(is,is2):15 ' ' ii.te(is,is2):0 / p.tn(is):15 ' ' p(is):0 / ; ) put '---'; loop(i, is2(i) = yes; put / i.tn(is):15 ' ' i.te(is):0 / j.tn(is):15 ' ' j.te(is):0 / is.tn(is):15 ' ' is.te(is):0 ' ' is.tl:0 / ii.tn(is,is2):15 ' ' ii.te(is,is2):0 / p.tn(is):15 ' ' p(is):0 / ; ) put '---' ; loop(i, is(i) = yes; put / i.tn(is):15 ' ' i.te(is):0 / j.tn(is):15 ' ' j.te(is):0 / is.tn(is):15 ' ' is.te(is):0 ' ' is.tl:0 / ii.tn('i2',is2):15 ' ' ii.te('i2',is2):0 / ii.tn('i2',is):15 ' ' ii.te('i2',is):0 / p.tn(is):15 ' ' p(is):0 / ; ) putclose execute 'diff want.txt have.txt'; execute 'diff want.txt have.txt > diff.txt'; abort$errorlevel 'want differs from have: check diff.txt'; $onEcho > want.txt i('i3') t3 j('i3') some text is('i3') i3 i3 ii('i3','i4') i3.i4 ii('i3','i1') i3.i1 p('i3') 3.00 --- i('i1') t1 j('i1') i1 is('i1') i1 i1 ii('i1','i1') i1.i1 ii('i1','i1') i1.i1 p('i1') 1.00 i('i2') t2 j('i2') some text is('i2') i2 i2 ii('i2','i2') i2.i2 ii('i2','i2') i2.i2 p('i2') 2.00 i('i3') t3 j('i3') some text is('i3') i3 i3 ii('i3','i3') i3.i3 ii('i3','i3') i3.i3 p('i3') 3.00 i('i4') t4 j('i4') some text is('i4') i4 i4 ii('i4','i4') i4.i4 ii('i4','i4') i4.i4 p('i4') 4.00 --- i('i4') t4 j('i4') some text is('i4') i4 i4 ii('i4','i1') i4.i1 p('i4') 4.00 i('i4') t4 j('i4') some text is('i4') i4 i4 ii('i4','i2') i4.i2 p('i4') 4.00 i('i4') t4 j('i4') some text is('i4') i4 i4 ii('i4','i3') i4.i3 p('i4') 4.00 i('i4') t4 j('i4') some text is('i4') i4 i4 ii('i4','i4') i4.i4 p('i4') 4.00 --- i('i1') t1 j('i1') i1 is('i1') i1 i1 ii('i2','i4') i2.i4 ii('i2','i1') i2.i1 p('i1') 1.00 i('i2') t2 j('i2') some text is('i2') i2 i2 ii('i2','i4') i2.i4 ii('i2','i2') i2.i2 p('i2') 2.00 i('i3') t3 j('i3') some text is('i3') i3 i3 ii('i2','i4') i2.i4 ii('i2','i3') i2.i3 p('i3') 3.00 i('i4') t4 j('i4') some text is('i4') i4 i4 ii('i2','i4') i2.i4 ii('i2','i4') i2.i4 p('i4') 4.00 $offEcho