X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fstats%2Fautorecode.at;h=19dc0fcb734e17335eba34047962ee3d69bad325;hb=41f83a8f1c88489e4fc458fb7661430ff91d8a61;hp=b4e9d41f95ad628bb0c5e22e2ae99e8e4f71717e;hpb=731a9abeeefbb9ac53e93a58a22a17bc06b4fdc0;p=pspp diff --git a/tests/language/stats/autorecode.at b/tests/language/stats/autorecode.at index b4e9d41f95..19dc0fcb73 100644 --- a/tests/language/stats/autorecode.at +++ b/tests/language/stats/autorecode.at @@ -53,3 +53,229 @@ asdfk,0,3.00,4.00,.00,1.00 asdfk,1,3.00,3.00,.00,1.00 ]) AT_CLEANUP + + + +AT_SETUP([AUTORECODE long strings and check the value labels]) +AT_DATA([ar.sps], + [data list notable list /s (a16) x *. +begin data. +widgets 1 +thingummies 2 +oojars 3 +widgets 4 +oojars 5 +thingummies 6 +oojimiflips 7 +end data. + +autorecode s into new. + +list. + +display dictionary. +]) + +AT_CHECK([pspp -O format=csv ar.sps], [0], + [Table: Data List +s,x,new +widgets ,1.00,4.00 +thingummies ,2.00,3.00 +oojars ,3.00,1.00 +widgets ,4.00,4.00 +oojars ,5.00,1.00 +thingummies ,6.00,3.00 +oojimiflips ,7.00,2.00 + +Variable,Description,,Position +s,Format: A16,,1 +,Measure: Nominal,, +,Display Alignment: Left,, +,Display Width: 16,, +x,Format: F8.2,,2 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +new,Format: F8.2,,3 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +,1.00,oojars, +,2.00,oojimiflips, +,3.00,thingummies, +,4.00,widgets, +]) + +AT_CLEANUP + + +AT_SETUP([AUTORECODE group subcommand]) +AT_DATA([ar-group.sps], +[data list notable list /x * y *. +begin data. +11 10 +12 12 +13 15 +14 11 +15 12 +16 18 +end data. + +autorecode + x y into a b + /group. + +list. +]) + +AT_CHECK([pspp -O format=csv ar-group.sps], [0], +[Table: Data List +x,y,a,b +11.00,10.00,2.00,1.00 +12.00,12.00,3.00,3.00 +13.00,15.00,4.00,6.00 +14.00,11.00,5.00,2.00 +15.00,12.00,6.00,3.00 +16.00,18.00,7.00,8.00 +]) + +AT_CLEANUP + + + +AT_SETUP([AUTORECODE group - string variables]) +AT_DATA([strings.sps], +[data list notable list /x (a8) y (a16). +begin data. +fred bert +charlie " " +delta echo +" " windows +" " nothing +end data. + + +autorecode x y into a b + /group. + +delete variables x y. + +list. + +]) + +AT_CHECK([pspp -O format=csv strings.sps], [0], +[Table: Data List +a,b +7.00,3.00 +4.00,1.00 +5.00,6.00 +2.00,9.00 +2.00,8.00 +]) + +AT_CLEANUP + + +dnl Tests for a crash which happened when the /GROUP subcommand +dnl appeared with string variables of different widths. +AT_SETUP([AUTORECODE group vs. strings]) +AT_DATA([ar-strings.sps], + [data list notable list /a (a12) b (a6). +begin data. +one nine +two ten +three eleven +four nought +end data. + +autorecode a b into x y + /group. + +list. +]) + +AT_CHECK([pspp -O format=csv ar-strings.sps], [0], +[dnl +Table: Data List +a,b,x,y +one ,nine ,5.00,3.00 +two ,ten ,8.00,6.00 +three ,eleven,7.00,1.00 +four ,nought,2.00,4.00 +]) + +AT_CLEANUP + + + +AT_SETUP([AUTORECODE /blank]) + +AT_DATA([auto-blank.sps], [dnl +data list notable list /x (a8) y * z (a16). +begin data. +one 2 fred +two 4 "" +"" 4 fred +"" 2 charliebrown +three 2 charliebrown +end data. + +autorecode variables x y z into a b c /blank=missing. + +list a b c y. +]) + +AT_CHECK([pspp -O format=csv auto-blank.sps], [0], [dnl +Table: Data List +a,b,c,y +1.00,1.00,2.00,2.00 +3.00,2.00,. ,4.00 +. ,2.00,2.00,4.00 +. ,1.00,1.00,2.00 +2.00,1.00,1.00,2.00 +]) + +AT_CLEANUP + +dnl AUTORECODE had a use-after-free error when TEMPORARY was in use. +dnl Bug #32757. +AT_SETUP([AUTORECODE with TEMPORARY]) +AT_DATA([autorecode.sps], + [data list /X 1-5(a) Y 7. +begin data. +lasdj 1 +asdfk 0 +asdfj 2 +asdfj 1 +asdfk 2 +asdfj 9 +lajks 9 +asdfk 0 +asdfk 1 +end data. + +temporary. +select if y > 1. +autorecode x y into A B/descend. +list. +]) +AT_CHECK([pspp -O format=csv autorecode.sps], [0], + [Table: Reading 1 record from INLINE. +Variable,Record,Columns,Format +X,1,1- 5,A5 +Y,1,7- 7,F1.0 + +Table: Data List +X,Y,A,B +lasdj,1,. ,. @&t@ +asdfk,0,2.00,. @&t@ +asdfj,2,3.00,2.00 +asdfj,1,3.00,. @&t@ +asdfk,2,2.00,2.00 +asdfj,9,3.00,1.00 +lajks,9,1.00,1.00 +asdfk,0,2.00,. @&t@ +asdfk,1,2.00,. @&t@ +]) +AT_CLEANUP