X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=perl-module%2Ft%2FPspp.t;h=c2c9dbde0aa3f8e0578f771b1114e9a61ad5e205;hb=refs%2Fheads%2Fpivot-table2;hp=50be5df2a7dd0a29f86e88614bac657bb689d73e;hpb=f51ecb48027e6b1eb46840ae25888a25b429f012;p=pspp diff --git a/perl-module/t/Pspp.t b/perl-module/t/Pspp.t index 50be5df2a7..c2c9dbde0a 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,21 +175,13 @@ 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,, +Variable,Description,Position +id,Format: F2.0,1 +name,Format: A20,2 -File label: +File label: This is the file label -This is the file label - -Documents in the active file: +Documents in the active dataset: This is a document line @@ -251,30 +243,27 @@ 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, +Variable,Description,Position +integer,"Label: My Integer +Format: F8.0 +Missing Values: 9; 99 + +Value,Label +0,Zero +1,Unity +2,Duality",1 +string,"Label: My String +Format: A8 +Missing Values: ""this ""; ""that "" + +Value,Label +xx ,foo +yy ,bar",2 +longstring,"Label: My Long String +Format: A9 + +Value,Label +xxx ,xfoo",3 RESULT } @@ -292,7 +281,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 +365,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 +382,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 +522,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 +582,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 +591,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"); }