--- trunk/t/2-input-isis.t 2005/07/16 17:14:43 9 +++ trunk/t/2-input-isis.t 2005/07/16 20:35:30 10 @@ -1,6 +1,6 @@ #!/usr/bin/perl -w -use Test::More tests => 6; +use Test::More tests => 36; use Test::Exception; use Cwd qw/abs_path/; use blib; @@ -14,9 +14,34 @@ $abs_path =~ s#/[^/]*$#/#; ok(my $isis = new WebPAC::Input::ISIS(), "new"); +ok(my $isis_lm = new WebPAC::Input::ISIS( low_mem => 1 ), "new"); throws_ok { $isis->open() } qr/filename/, "need filename"; throws_ok { $isis->open( filename => '/dev/null' ) } qr/can't find database/ , "open"; ok($isis->open( filename => "$abs_path/winisis/BIBL" ), "open"); +ok($isis_lm->open( filename => "$abs_path/winisis/BIBL", low_mem => 1 ), "open"); + +cmp_ok($isis->pos, '==', -1, "mfn"); + +ok(my $size = $isis->size, "size"); + +my @db1; + +foreach my $mfn ( 1 ... $size ) { + ok(my $rec = $isis->fetch, "fetch"); + cmp_ok($isis->pos, '==', $mfn, "rec $mfn"); + push @db1, $rec; +} + +my @db2; + +foreach my $mfn ( 1 ... $size ) { + ok($isis_lm->seek($mfn), "seek"); + ok(my $rec = $isis_lm->fetch, "fetch"); + cmp_ok($isis_lm->pos, '==', $mfn, "rec $mfn"); + push @db2, $rec; +} + +is_deeply(\@db1, \@db2, "seek working");