X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl-module%2Ft%2FPspp.t;h=61ed4616b95e9a10f4f526fcac1f8075985d3284;hb=5cab4cf3322f29c0ed7134d23740e07382914f20;hp=50be5df2a7dd0a29f86e88614bac657bb689d73e;hpb=d0b91eae59319ab2756d0d43b9cb15eb9cd3c234;p=pspp diff --git a/perl-module/t/Pspp.t b/perl-module/t/Pspp.t index 50be5df2a7..61ed4616b9 100644 --- a/perl-module/t/Pspp.t +++ b/perl-module/t/Pspp.t @@ -8,7 +8,7 @@ # change 'tests => 1' to 'tests => last_test_to_print'; -use Test::More tests => 36; +use Test::More tests => 37; use Text::Diff; use File::Temp qw/ tempfile tempdir /; BEGIN { use_ok('PSPP') }; @@ -72,7 +72,7 @@ sub run_pspp_syntax_cmp ok ($d->get_var_cnt () == 0); $d->set_label ("My Dictionary"); - $d->set_documents ("These Documents"); + $d->add_document ("These Documents"); # Tests for variable creation @@ -130,7 +130,7 @@ sub run_pspp_syntax_cmp ) ); - $d->set_documents ("This should not appear"); + $d->add_document ("This should not appear"); $d->clear_documents (); $d->add_document ("This is a document line"); @@ -175,27 +175,20 @@ sub run_pspp_syntax_cmp DISPLAY DOCUMENTS. LIST. SYNTAX -Variable,Description,,Position -id,Format: F2.0,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -name,Format: A20,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 20,, +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +id,1,,Scale,Input,8,Right,F2.0,F2.0, +name,2,,Nominal,Input,20,Left,A20,A20, -File label: - -This is the file label - -Documents in the active file: +Table: File Label +Label,This is the file label +Table: Documents This is a document line Table: Data List id,name -21,wheelbarrow +21,wheelbarrow RESULT @@ -251,30 +244,20 @@ RESULT GET FILE='$tempfile'. DISPLAY DICTIONARY. SYNTAX -Variable,Description,,Position -integer,My Integer,,1 -,Format: F8.0,, -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -,Missing Values: 9; 99,, -,0,Zero, -,1,Unity, -,2,Duality, -string,My String,,2 -,Format: A8,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -,"Missing Values: ""this ""; ""that """,, -,xx ,foo, -,yy ,bar, -longstring,My Long String,,3 -,Format: A9,, -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 9,, -,xxx ,xfoo, +Table: Variables +Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values +integer,1,My Integer,Scale,Input,8,Right,F8.0,F8.0,9; 99 +string,2,My String,Nominal,Input,8,Left,A8,A8,"""this ""; ""that """ +longstring,3,My Long String,Nominal,Input,9,Left,A9,A9, + +Table: Value Labels +Variable Value,,Label +My Integer,0,Zero +,1,Unity +,2,Duality +My String,xx,foo +,yy,bar +My Long String,xxx,xfoo RESULT } @@ -292,7 +275,7 @@ begin data. 1111 One 1 1/1/1 1 1/1/1+01:01 2222 Two 2 2/2/2 2 2/2/2+02:02 3333 Three 3 3/3/3 3 3/3/3+03:03 -. . . . . +. . . . . . 5555 Five 5 5/5/5 5 5/5/5+05:05 end data. @@ -376,7 +359,7 @@ RESULT my $vl = $var->get_value_labels (); print MYFILE "Value Labels:\n"; - print MYFILE "$_ => $vl->{$_}\n" for keys %$vl; + print MYFILE "$_ => $vl->{$_}\n" for (sort keys %$vl); } while (my @c = $sf->get_next_case () ) @@ -393,16 +376,16 @@ RESULT ok (compare ("$tempdir/out.txt", < threes 1111 => ones 2222 => twos +3333 => threes Variable 1 is "longstring", label is "A Long String Variable" Value Labels: Variable 2 is "numeric", label is "A Numeric Variable" Value Labels: 1 => Unity -3 => Thripality 2 => Duality +3 => Thripality Variable 3 is "date", label is "A Date Variable" Value Labels: Variable 4 is "dollar", label is "A Dollar Variable" @@ -533,7 +516,7 @@ SYNTAX ok ( !ref $sf, "Returns undef on opening failure"); - ok ("$PSPP::errstr" eq "Error opening \"$tempdir/no-such-file.sav\" for reading as a system file: No such file or directory.", + ok ("$PSPP::errstr" eq "An error occurred while opening `$tempdir/no-such-file.sav': No such file or directory.", "Error string on open failure"); } @@ -593,7 +576,7 @@ SYNTAX open (MYFILE, ">$tempdir/out.txt"); - foreach $k (keys %$attr) + foreach $k (sort (keys (%$attr))) { my $ll = $attr->{$k}; print MYFILE "$k =>"; @@ -602,10 +585,24 @@ SYNTAX close (MYFILE); - ok (compare ("$tempdir/out.txt", <0 colour =>blue, pink, violet nationality =>foreign size =>large EOF +} + + +# Test of the get_case_cnt function +{ + my $tempdir = tempdir( CLEANUP => 1 ); + + generate_sav_file ("$tempdir/in.sav", "$tempdir"); + + my $sf = PSPP::Reader->open ("$tempdir/in.sav"); + + my $n = $sf->get_case_cnt (); + ok ($n == 5, "Case count"); }