X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=perl-module%2Ft%2FPspp.t;h=92180aba9cde097c4409b2d71f6d78c66974504c;hb=4ba231eb219f2cd1daa45297672b61bcc11cfcff;hp=fe141514cc34921aade4f7c17c266d550538cc2f;hpb=d75247c28e0dce9c21070e4ee14fdc6a2338fb77;p=pspp-builds.git diff --git a/perl-module/t/Pspp.t b/perl-module/t/Pspp.t index fe141514..92180aba 100644 --- a/perl-module/t/Pspp.t +++ b/perl-module/t/Pspp.t @@ -1,12 +1,14 @@ # -*-perl-*- -# Before `make install' is performed this script should be runnable with -# `make test'. After `make install' it should work as `perl PSPP.t' +# Before `make install' is performed this script should be runnable +# with `make test' as long as libpspp-core-$VERSION.so is in +# LD_LIBRARY_PATH. After `make install' it should work as `perl +# PSPP.t' ######################### # change 'tests => 1' to 'tests => last_test_to_print'; -use Test::More tests => 32; +use Test::More tests => 36; use Text::Diff; use File::Temp qw/ tempfile tempdir /; BEGIN { use_ok('PSPP') }; @@ -67,6 +69,7 @@ sub run_pspp_syntax_cmp { my $d = PSPP::Dict->new(); ok (ref $d, "Dictionary Creation"); + ok ($d->get_var_cnt () == 0); $d->set_label ("My Dictionary"); $d->set_documents ("These Documents"); @@ -75,17 +78,21 @@ sub run_pspp_syntax_cmp my $var0 = PSPP::Var->new ($d, "le"); ok (!ref $var0, "Trap illegal variable name"); + ok ($d->get_var_cnt () == 0); $var0 = PSPP::Var->new ($d, "legal"); ok (ref $var0, "Accept legal variable name"); + ok ($d->get_var_cnt () == 1); my $var1 = PSPP::Var->new ($d, "legal"); ok (!ref $var1, "Trap duplicate variable name"); + ok ($d->get_var_cnt () == 1); $var1 = PSPP::Var->new ($d, "money", (fmt=>PSPP::Fmt::DOLLAR, width=>4, decimals=>2) ); ok (ref $var1, "Accept valid format"); + ok ($d->get_var_cnt () == 2); $d->set_weight ($var1); @@ -236,9 +243,7 @@ RESULT $longstr->set_label ("My Long String"); my $re = $longstr->add_value_label ("xxx", "xfoo"); - ok (($re == 0), "Long strings cant have labels"); - - ok ($PSPP::errstr eq "Cannot add label to a long string variable", "Error msg"); + ok ($re, "Value label for long string"); $int->set_missing_values (9, 99); @@ -252,36 +257,38 @@ GET FILE='$tempfile'. DISPLAY DICTIONARY. SYNTAX 1.1 DISPLAY. -+----------+-----------------------------------------+--------+ -|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 | | -+----------+-----------------------------------------+--------+ ++----------+---------------------------------------------+--------+ +|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 | | ++----------+---------+-----------------------------------+--------+ RESULT @@ -387,11 +394,11 @@ RESULT print MYFILE "$_ => $vl->{$_}\n" for keys %$vl; } - while (my $c = $sf->get_next_case () ) + while (my @c = $sf->get_next_case () ) { for ($v = 0; $v < $dict->get_var_cnt(); $v++) { - print MYFILE "val$v: \"@$c[$v]\"\n"; + print MYFILE "val$v: \"$c[$v]\"\n"; } print MYFILE "\n"; } @@ -469,9 +476,9 @@ EOF my $output = PSPP::Sysfile->new ("$tempdir/out.sav", $dict); - while (my $c = $input->get_next_case () ) + while (my (@c) = $input->get_next_case () ) { - $output->append_case ($c); + $output->append_case (\@c); } $output->close (); @@ -519,10 +526,10 @@ SYNTAX my $dict = $sf->get_dict (); - my $c = $sf->get_next_case (); + my (@c) = $sf->get_next_case (); my $var = $dict->get_var (0); - my $val = @$c[0]; + my $val = $c[0]; my $formatted = PSPP::format_value ($val, $var); my $str = gmtime ($val - PSPP::PERL_EPOCH); print "Formatted string is \"$formatted\"\n"; @@ -557,30 +564,30 @@ SYNTAX my $dict = $sf->get_dict (); - my $c = $sf->get_next_case (); + my (@c) = $sf->get_next_case (); my $stringvar = $dict->get_var (0); my $numericvar = $dict->get_var (2); - my $val = @$c[0]; + my $val = $c[0]; ok ( !PSPP::value_is_missing ($val, $stringvar), "Missing Value Negative String"); - $val = @$c[2]; + $val = $c[2]; ok ( !PSPP::value_is_missing ($val, $numericvar), "Missing Value Negative Num"); - $c = $sf->get_next_case (); - $c = $sf->get_next_case (); + @c = $sf->get_next_case (); + @c = $sf->get_next_case (); - $val = @$c[0]; + $val = $c[0]; ok ( PSPP::value_is_missing ($val, $stringvar), "Missing Value Positive"); - $c = $sf->get_next_case (); - $val = @$c[2]; + @c = $sf->get_next_case (); + $val = $c[2]; ok ( PSPP::value_is_missing ($val, $numericvar), "Missing Value Positive SYS"); - $c = $sf->get_next_case (); - $val = @$c[2]; + @c = $sf->get_next_case (); + $val = $c[2]; ok ( PSPP::value_is_missing ($val, $numericvar), "Missing Value Positive Num"); }