# 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') };
return ! diff ("$file", \$pattern);
}
+my $pspp_cmd = $ENV{PSPP_TEST_CMD};
+
+if ( ! $pspp_cmd)
+{
+ $pspp_cmd="pspp";
+}
+
sub run_pspp_syntax
{
my $tempdir = shift;
print FH "$syntax";
close (FH);
- system ("cd $tempdir; pspp -o raw-ascii $syntaxfile");
+ system ("cd $tempdir; $pspp_cmd -o raw-ascii $syntaxfile");
}
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");
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);
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";
}
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 ();
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";
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");
}