File Coverage

blib/lib/Text/NASA_Ames/FFI1001.pm
Criterion Covered Total %
statement 30 33 90.9
branch 4 6 66.6
condition 2 6 33.3
subroutine 6 6 100.0
pod 1 1 100.0
total 43 52 82.6


line stmt bran cond sub pod time code
1             package Text::NASA_Ames::FFI1001;
2 1     1   34919 use base qw(Text::NASA_Ames);
  1         3  
  1         695  
3 1     1   10 use Carp;
  1         1  
  1         76  
4              
5 1     1   21 use 5.00600;
  1         2  
  1         31  
6 1     1   5 use strict;
  1         2  
  1         453  
7              
8             our $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf " %d." . "%02d" x $#r, @r };
9              
10              
11             =head1 NAME
12              
13             Text::NASA_Ames::FFI1001 - Implementation of FFI1001 NASA_Ames format
14              
15             =head1 SYNOPSIS
16              
17              
18             =head1 DESCRIPTION
19              
20             This class should normally not be called directly but through the
21             L class indirectly.
22              
23             =head1 PUBLIC METHODS
24              
25             =over 4
26              
27             =item new (Text::NASA_Ames-object || options for new NASA_Ames)
28              
29             parses the (rest of the) header (body and comments)
30              
31             =cut
32              
33             sub new {
34 4     4 1 6 my ($class, $fileObj) = @_;
35 4   33     17 $class = ref $class || $class;
36 4 50 33     24 if (! (ref $fileObj && (ref($fileObj) eq 'Text::NASA_Ames'))) {
37 0         0 return new Text::NASA_Ames($fileObj);
38             }
39 4         4 my $self = $fileObj;
40 4         8 bless $self, $class;
41              
42 4         15 $self->_parseList('dX', $self->nIV);
43 4         47 $self->_parseLines('xName', $self->nIV);
44 4         45 $self->_parseVDeclaration;
45 4         43 $self->_parseTailHeader;
46              
47 4         50 return $self;
48             }
49              
50             sub _refillBuffer {
51 56     56   61 my $self = shift;
52              
53 56         126 my $line = $self->nextLine;
54 56 100       123 return unless defined $line;
55              
56 54         156 my ($x, @v) = split ' ', $line;
57 54 50       143 if (@v != $self->nV) {
58 0         0 $self->_carp("not enough elements for Aux, expected ".
59             $self->nV() . ", got ". scalar @v);
60 0         0 return;
61             }
62 54         570 $self->_cleanAndScaleVals($self->vMiss, $self->vScal, \@v);
63 54         69 push @{ $self->dataBuffer }, new Text::NASA_Ames::DataEntry({X => [$x],
  54         118  
64             V => \@v});
65             }
66              
67             1;
68             __END__