fixed manifest with tests
[DataExtract-FixedWidth.git] / t / 10-Heuristic-woHeader-wCols.t
blobf03dcd04e06a019ed60e8ba111449c44f2f5a7f9
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use feature ':5.10';
6 use DataExtract::FixedWidth;
7 use IO::File;
9 use Test::More tests => 1;
11 use File::Spec;
12 my $file = File::Spec->catfile( 't', 'data', 'Dealermade.txt' );
13 my $fh = IO::File->new( $file );
14 my @lines = grep /\w/, $fh->getlines;
15 s/\s+$// for @lines;
17 my $defw = DataExtract::FixedWidth->new({
18 heuristic => \@lines
19 , cols => [ qw/stock year make model body color vin price/ ]
20 , header_row => undef
21 });
23 my @rows;
24 foreach my $line ( @lines ) {
25 push @rows, $defw->parse_hash( $line );
28 my $VAR1 = [
30 'body' => '4DR SUV',
31 'color' => 'WHITE',
32 'make' => 'FORD',
33 'model' => 'ESCAPE',
34 'price' => '28275.00',
35 'vin' => '1FMCU04148KB05995',
36 'stock' => '000KP209',
37 'year' => '08'
40 'body' => '4DR SUV',
41 'color' => 'GRAY',
42 'make' => 'FORD',
43 'model' => 'ESCAPE',
44 'price' => '27640.00',
45 'vin' => '1FMCU04168KD84379',
46 'stock' => '000KP221',
47 'year' => '08'
50 'body' => 'CREW CAB',
51 'color' => 'BLUE',
52 'make' => 'FORD',
53 'model' => 'EXP SPTRAC',
54 'price' => '26870.00',
55 'vin' => '1FMEU31E98UA60445',
56 'stock' => '000KL059',
57 'year' => '08'
60 'body' => '4DR SUV',
61 'color' => 'SILVER',
62 'make' => 'FORD',
63 'model' => 'EXPEDITION',
64 'price' => '32930.00',
65 'vin' => '1FMFU15528LA25237',
66 'stock' => '000KM126',
67 'year' => '08'
70 'body' => '4DR SUV',
71 'color' => 'Red',
72 'make' => 'FORD',
73 'model' => 'EXPEDITION',
74 'price' => '34985.00',
75 'vin' => '1FMFU15558LA19982',
76 'stock' => '*000KM056',
77 'year' => '08'
80 'body' => '4DR SUV',
81 'color' => 'BLUE',
82 'make' => 'FORD',
83 'model' => 'EXPEDITION',
84 'price' => '35595.00',
85 'vin' => '1FMFU15568LA61495',
86 'stock' => '000KM183',
87 'year' => '08'
90 'body' => '4DR SUV',
91 'color' => 'BLUE',
92 'make' => 'FORD',
93 'model' => 'EXPEDITION',
94 'price' => '34300.00',
95 'vin' => '1FMFU15588LA61210',
96 'stock' => '000KM178',
97 'year' => '08'
100 'body' => '4DR SUV',
101 'color' => 'WHITE',
102 'make' => 'FORD',
103 'model' => 'EXPEDTN EL',
104 'price' => '37140.00',
105 'vin' => '1FMFK155X8LA67709',
106 'stock' => '000KM199',
107 'year' => '08'
110 'body' => '4DR SUV',
111 'color' => 'WHITE',
112 'make' => 'FORD',
113 'model' => 'EXPEDTN EL',
114 'price' => '37390.00',
115 'vin' => '1FMFK15528LA72600',
116 'stock' => '*000KM207',
117 'year' => '08'
120 'body' => '4DR SUV',
121 'color' => 'BLACK',
122 'make' => 'FORD',
123 'model' => 'EXPEDTN EL',
124 'price' => '36655.00',
125 'vin' => '1FMFK15548LA15184',
126 'stock' => '000KM198',
127 'year' => '08'
130 'body' => '4DR SUV',
131 'color' => 'SILVER',
132 'make' => 'FORD',
133 'model' => 'EXPEDTN EL',
134 'price' => '44630.00',
135 'vin' => '1FMFK19598LA61068',
136 'stock' => '000KM176',
137 'year' => '08'
140 'body' => '4DR SUV',
141 'color' => 'BLUE',
142 'make' => 'FORD',
143 'model' => 'EXPLORER',
144 'price' => '26890.00',
145 'vin' => '1FMEU63EX8UA67046',
146 'stock' => '000KL044',
147 'year' => '08'
150 'body' => '4DR SUV',
151 'color' => 'SILVER',
152 'make' => 'FORD',
153 'model' => 'EXPLORER',
154 'price' => '28635.00',
155 'vin' => '1FMEU63E08UB10566',
156 'stock' => '000KL074',
157 'year' => '08'
160 'body' => '4DR SUV',
161 'color' => 'RED',
162 'make' => 'FORD',
163 'model' => 'EXPLORER',
164 'price' => '26890.00',
165 'vin' => '1FMEU63E88UA67109',
166 'stock' => '000KL048',
167 'year' => '08'
170 'body' => '4DR SUV',
171 'color' => 'BLUE',
172 'make' => 'FORD',
173 'model' => 'EXPLORER',
174 'price' => '28400.00',
175 'vin' => '1FMEU63E88UA91359',
176 'stock' => '000KL066',
177 'year' => '08'
180 'body' => '4DR SUV',
181 'color' => 'BLACK',
182 'make' => 'FORD',
183 'model' => 'EXPLORER',
184 'price' => '28075.00',
185 'vin' => '1FMEU63E88UB10573',
186 'stock' => '000KL075',
187 'year' => '08'
190 'body' => 'CREW CAB',
191 'color' => 'BLACK',
192 'make' => 'FORD',
193 'model' => 'F-150',
194 'price' => '36980.00',
195 'vin' => '1FTPW12V08FC01434',
196 'stock' => '*000KQ385',
197 'year' => '08'
200 'body' => 'CREW CAB',
201 'color' => 'BROWN',
202 'make' => 'FORD',
203 'model' => 'F-150',
204 'price' => '35408.28',
205 'vin' => '1FTPW12V08KC36417',
206 'stock' => '000KQ138',
207 'year' => '08'
210 'body' => 'CREW CAB',
211 'color' => 'BLACK',
212 'make' => 'FORD',
213 'model' => 'F-150',
214 'price' => '35408.28',
215 'vin' => '1FTPW12V08KC47143',
216 'stock' => '000KQ135',
217 'year' => '08'
220 'body' => 'CREW CAB',
221 'color' => 'BLACK',
222 'make' => 'FORD',
223 'model' => 'F-150',
224 'price' => '43205.00',
225 'vin' => '1FTRW14518FB28676',
226 'stock' => '000KQ286',
227 'year' => '08'
231 is_deeply( $VAR1 , \@rows , 'deep test using heuristic and supplied cols' );