r1650@llin: dpavlin | 2007-11-20 11:07:57 +0100
[webpac2] / t / 2-input-dbf.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use blib;
5
6 use Test::More tests => 1179;
7
8 BEGIN {
9 use_ok( 'WebPAC::Test' );
10 use_ok( 'WebPAC::Input' );
11 }
12
13 my $module = 'WebPAC::Input::DBF';
14 diag "testing with $module", $debug ? ' with debug' : '';
15
16 ok(my $input = new WebPAC::Input(
17         module => $module,
18         no_progress_bar => 1,
19         %LOG
20 ), "new");
21
22 ok(my $db = $input->open(
23         path => "$abs_path/data/cas2000.dbf",
24         input_config => {
25                 mapping_path => "$abs_path/conf/input/dbf/cas2000.yml",
26         },
27 ), "open");
28 ok(my $size = $input->size, "size");
29
30 diag "size: $size" if ($debug);
31
32 ok(defined($input->{ll_db}->{_rows}), 'have ll_db->rows');
33
34 foreach my $mfn ( 1 ... $size ) {
35
36         ok(defined($input->{ll_db}->{_rows}->{$mfn}), "have ll_db->_rows->$mfn");
37
38         diag "row: ", dump( $input->{ll_db}->{_rows}->{$mfn} ) if ($debug);
39
40         my $rec = $input->fetch;
41
42         ok($rec, "fetch $mfn");
43
44         cmp_ok($input->pos, '==', $mfn, "pos $mfn");
45
46         diag "rec: ", dump($rec), "\n" if ($debug);
47 }
48