perl-module: Document and test PSPP::Dict::get_var_cnt().
[pspp-builds.git] / perl-module / t / Pspp.t
index fe141514cc34921aade4f7c17c266d550538cc2f..04b76a57313666ff4119803ffd47ed12f45cc6ae 100644 (file)
@@ -6,7 +6,7 @@
 
 # change 'tests => 1' to 'tests => last_test_to_print';
 
-use Test::More tests => 32;
+use Test::More tests => 37;
 use Text::Diff;
 use File::Temp qw/ tempfile tempdir /;
 BEGIN { use_ok('PSPP') };
@@ -67,6 +67,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 +76,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);
 
@@ -387,11 +392,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 +474,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 +524,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 +562,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");
 }