X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=perl-module%2Ft%2FPspp.t;h=c2c9dbde0aa3f8e0578f771b1114e9a61ad5e205;hb=00aad3b983774328140a04436d7d6ae7925fec97;hp=6e267f6fb8f535c5bfff0aedd0629f555161639e;hpb=bfd019e1c9272143a637747cf8dbd66774696483;p=pspp diff --git a/perl-module/t/Pspp.t b/perl-module/t/Pspp.t index 6e267f6fb8..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') }; @@ -175,15 +175,9 @@ 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: This is the file label @@ -249,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 } @@ -374,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 () ) @@ -391,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" @@ -531,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"); } @@ -591,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 =>"; @@ -600,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"); }