Skip to content

Commit f9ed5b5

Browse files
Add assert + narrow test
1 parent deda7bb commit f9ed5b5

File tree

2 files changed

+10
-268
lines changed

2 files changed

+10
-268
lines changed

src/reader.rs

Lines changed: 5 additions & 265 deletions
Original file line numberDiff line numberDiff line change
@@ -257,269 +257,7 @@ mod tests {
257257
"LocationID","Borough","Zone","service_zone"
258258
1,"EWR","Newark Airport","EWR"
259259
2,"Queens","Jamaica Bay","Boro Zone"
260-
3,"Bronx","Allerton/Pelham Gardens","Boro Zone"
261-
4,"Manhattan","Alphabet City","Yellow Zone"
262-
5,"Staten Island","Arden Heights","Boro Zone"
263-
6,"Staten Island","Arrochar/Fort Wadsworth","Boro Zone"
264-
7,"Queens","Astoria","Boro Zone"
265-
8,"Queens","Astoria Park","Boro Zone"
266-
9,"Queens","Auburndale","Boro Zone"
267-
10,"Queens","Baisley Park","Boro Zone"
268-
11,"Brooklyn","Bath Beach","Boro Zone"
269-
12,"Manhattan","Battery Park","Yellow Zone"
270-
13,"Manhattan","Battery Park City","Yellow Zone"
271-
14,"Brooklyn","Bay Ridge","Boro Zone"
272-
15,"Queens","Bay Terrace/Fort Totten","Boro Zone"
273-
16,"Queens","Bayside","Boro Zone"
274-
17,"Brooklyn","Bedford","Boro Zone"
275-
18,"Bronx","Bedford Park","Boro Zone"
276-
19,"Queens","Bellerose","Boro Zone"
277-
20,"Bronx","Belmont","Boro Zone"
278-
21,"Brooklyn","Bensonhurst East","Boro Zone"
279-
22,"Brooklyn","Bensonhurst West","Boro Zone"
280-
23,"Staten Island","Bloomfield/Emerson Hill","Boro Zone"
281-
24,"Manhattan","Bloomingdale","Yellow Zone"
282-
25,"Brooklyn","Boerum Hill","Boro Zone"
283-
26,"Brooklyn","Borough Park","Boro Zone"
284-
27,"Queens","Breezy Point/Fort Tilden/Riis Beach","Boro Zone"
285-
28,"Queens","Briarwood/Jamaica Hills","Boro Zone"
286-
29,"Brooklyn","Brighton Beach","Boro Zone"
287-
30,"Queens","Broad Channel","Boro Zone"
288-
31,"Bronx","Bronx Park","Boro Zone"
289-
32,"Bronx","Bronxdale","Boro Zone"
290-
33,"Brooklyn","Brooklyn Heights","Boro Zone"
291-
34,"Brooklyn","Brooklyn Navy Yard","Boro Zone"
292-
35,"Brooklyn","Brownsville","Boro Zone"
293-
36,"Brooklyn","Bushwick North","Boro Zone"
294-
37,"Brooklyn","Bushwick South","Boro Zone"
295-
38,"Queens","Cambria Heights","Boro Zone"
296-
39,"Brooklyn","Canarsie","Boro Zone"
297-
40,"Brooklyn","Carroll Gardens","Boro Zone"
298-
41,"Manhattan","Central Harlem","Boro Zone"
299-
42,"Manhattan","Central Harlem North","Boro Zone"
300-
43,"Manhattan","Central Park","Yellow Zone"
301-
44,"Staten Island","Charleston/Tottenville","Boro Zone"
302-
45,"Manhattan","Chinatown","Yellow Zone"
303-
46,"Bronx","City Island","Boro Zone"
304-
47,"Bronx","Claremont/Bathgate","Boro Zone"
305-
48,"Manhattan","Clinton East","Yellow Zone"
306-
49,"Brooklyn","Clinton Hill","Boro Zone"
307-
50,"Manhattan","Clinton West","Yellow Zone"
308-
51,"Bronx","Co-Op City","Boro Zone"
309-
52,"Brooklyn","Cobble Hill","Boro Zone"
310-
53,"Queens","College Point","Boro Zone"
311-
54,"Brooklyn","Columbia Street","Boro Zone"
312-
55,"Brooklyn","Coney Island","Boro Zone"
313-
56,"Queens","Corona","Boro Zone"
314-
57,"Queens","Corona","Boro Zone"
315-
58,"Bronx","Country Club","Boro Zone"
316-
59,"Bronx","Crotona Park","Boro Zone"
317-
60,"Bronx","Crotona Park East","Boro Zone"
318-
61,"Brooklyn","Crown Heights North","Boro Zone"
319-
62,"Brooklyn","Crown Heights South","Boro Zone"
320-
63,"Brooklyn","Cypress Hills","Boro Zone"
321-
64,"Queens","Douglaston","Boro Zone"
322-
65,"Brooklyn","Downtown Brooklyn/MetroTech","Boro Zone"
323-
66,"Brooklyn","DUMBO/Vinegar Hill","Boro Zone"
324-
67,"Brooklyn","Dyker Heights","Boro Zone"
325-
68,"Manhattan","East Chelsea","Yellow Zone"
326-
69,"Bronx","East Concourse/Concourse Village","Boro Zone"
327-
70,"Queens","East Elmhurst","Boro Zone"
328-
71,"Brooklyn","East Flatbush/Farragut","Boro Zone"
329-
72,"Brooklyn","East Flatbush/Remsen Village","Boro Zone"
330-
73,"Queens","East Flushing","Boro Zone"
331-
74,"Manhattan","East Harlem North","Boro Zone"
332-
75,"Manhattan","East Harlem South","Boro Zone"
333-
76,"Brooklyn","East New York","Boro Zone"
334-
77,"Brooklyn","East New York/Pennsylvania Avenue","Boro Zone"
335-
78,"Bronx","East Tremont","Boro Zone"
336-
79,"Manhattan","East Village","Yellow Zone"
337-
80,"Brooklyn","East Williamsburg","Boro Zone"
338-
81,"Bronx","Eastchester","Boro Zone"
339-
82,"Queens","Elmhurst","Boro Zone"
340-
83,"Queens","Elmhurst/Maspeth","Boro Zone"
341-
84,"Staten Island","Eltingville/Annadale/Prince's Bay","Boro Zone"
342-
85,"Brooklyn","Erasmus","Boro Zone"
343-
86,"Queens","Far Rockaway","Boro Zone"
344-
87,"Manhattan","Financial District North","Yellow Zone"
345-
88,"Manhattan","Financial District South","Yellow Zone"
346-
89,"Brooklyn","Flatbush/Ditmas Park","Boro Zone"
347-
90,"Manhattan","Flatiron","Yellow Zone"
348-
91,"Brooklyn","Flatlands","Boro Zone"
349-
92,"Queens","Flushing","Boro Zone"
350-
93,"Queens","Flushing Meadows-Corona Park","Boro Zone"
351-
94,"Bronx","Fordham South","Boro Zone"
352-
95,"Queens","Forest Hills","Boro Zone"
353-
96,"Queens","Forest Park/Highland Park","Boro Zone"
354-
97,"Brooklyn","Fort Greene","Boro Zone"
355-
98,"Queens","Fresh Meadows","Boro Zone"
356-
99,"Staten Island","Freshkills Park","Boro Zone"
357-
100,"Manhattan","Garment District","Yellow Zone"
358-
101,"Queens","Glen Oaks","Boro Zone"
359-
102,"Queens","Glendale","Boro Zone"
360-
103,"Manhattan","Governor's Island/Ellis Island/Liberty Island","Yellow Zone"
361-
104,"Manhattan","Governor's Island/Ellis Island/Liberty Island","Yellow Zone"
362-
105,"Manhattan","Governor's Island/Ellis Island/Liberty Island","Yellow Zone"
363-
106,"Brooklyn","Gowanus","Boro Zone"
364-
107,"Manhattan","Gramercy","Yellow Zone"
365-
108,"Brooklyn","Gravesend","Boro Zone"
366-
109,"Staten Island","Great Kills","Boro Zone"
367-
110,"Staten Island","Great Kills Park","Boro Zone"
368-
111,"Brooklyn","Green-Wood Cemetery","Boro Zone"
369-
112,"Brooklyn","Greenpoint","Boro Zone"
370-
113,"Manhattan","Greenwich Village North","Yellow Zone"
371-
114,"Manhattan","Greenwich Village South","Yellow Zone"
372-
115,"Staten Island","Grymes Hill/Clifton","Boro Zone"
373-
116,"Manhattan","Hamilton Heights","Boro Zone"
374-
117,"Queens","Hammels/Arverne","Boro Zone"
375-
118,"Staten Island","Heartland Village/Todt Hill","Boro Zone"
376-
119,"Bronx","Highbridge","Boro Zone"
377-
120,"Manhattan","Highbridge Park","Boro Zone"
378-
121,"Queens","Hillcrest/Pomonok","Boro Zone"
379-
122,"Queens","Hollis","Boro Zone"
380-
123,"Brooklyn","Homecrest","Boro Zone"
381-
124,"Queens","Howard Beach","Boro Zone"
382-
125,"Manhattan","Hudson Sq","Yellow Zone"
383-
126,"Bronx","Hunts Point","Boro Zone"
384-
127,"Manhattan","Inwood","Boro Zone"
385-
128,"Manhattan","Inwood Hill Park","Boro Zone"
386-
129,"Queens","Jackson Heights","Boro Zone"
387-
130,"Queens","Jamaica","Boro Zone"
388-
131,"Queens","Jamaica Estates","Boro Zone"
389-
132,"Queens","JFK Airport","Airports"
390-
133,"Brooklyn","Kensington","Boro Zone"
391-
134,"Queens","Kew Gardens","Boro Zone"
392-
135,"Queens","Kew Gardens Hills","Boro Zone"
393-
136,"Bronx","Kingsbridge Heights","Boro Zone"
394-
137,"Manhattan","Kips Bay","Yellow Zone"
395-
138,"Queens","LaGuardia Airport","Airports"
396-
139,"Queens","Laurelton","Boro Zone"
397-
140,"Manhattan","Lenox Hill East","Yellow Zone"
398-
141,"Manhattan","Lenox Hill West","Yellow Zone"
399-
142,"Manhattan","Lincoln Square East","Yellow Zone"
400-
143,"Manhattan","Lincoln Square West","Yellow Zone"
401-
144,"Manhattan","Little Italy/NoLiTa","Yellow Zone"
402-
145,"Queens","Long Island City/Hunters Point","Boro Zone"
403-
146,"Queens","Long Island City/Queens Plaza","Boro Zone"
404-
147,"Bronx","Longwood","Boro Zone"
405-
148,"Manhattan","Lower East Side","Yellow Zone"
406-
149,"Brooklyn","Madison","Boro Zone"
407-
150,"Brooklyn","Manhattan Beach","Boro Zone"
408-
151,"Manhattan","Manhattan Valley","Yellow Zone"
409-
152,"Manhattan","Manhattanville","Boro Zone"
410-
153,"Manhattan","Marble Hill","Boro Zone"
411-
154,"Brooklyn","Marine Park/Floyd Bennett Field","Boro Zone"
412-
155,"Brooklyn","Marine Park/Mill Basin","Boro Zone"
413-
156,"Staten Island","Mariners Harbor","Boro Zone"
414-
157,"Queens","Maspeth","Boro Zone"
415-
158,"Manhattan","Meatpacking/West Village West","Yellow Zone"
416-
159,"Bronx","Melrose South","Boro Zone"
417-
160,"Queens","Middle Village","Boro Zone"
418-
161,"Manhattan","Midtown Center","Yellow Zone"
419-
162,"Manhattan","Midtown East","Yellow Zone"
420-
163,"Manhattan","Midtown North","Yellow Zone"
421-
164,"Manhattan","Midtown South","Yellow Zone"
422-
165,"Brooklyn","Midwood","Boro Zone"
423-
166,"Manhattan","Morningside Heights","Boro Zone"
424-
167,"Bronx","Morrisania/Melrose","Boro Zone"
425-
168,"Bronx","Mott Haven/Port Morris","Boro Zone"
426-
169,"Bronx","Mount Hope","Boro Zone"
427-
170,"Manhattan","Murray Hill","Yellow Zone"
428-
171,"Queens","Murray Hill-Queens","Boro Zone"
429-
172,"Staten Island","New Dorp/Midland Beach","Boro Zone"
430-
173,"Queens","North Corona","Boro Zone"
431-
174,"Bronx","Norwood","Boro Zone"
432-
175,"Queens","Oakland Gardens","Boro Zone"
433-
176,"Staten Island","Oakwood","Boro Zone"
434-
177,"Brooklyn","Ocean Hill","Boro Zone"
435-
178,"Brooklyn","Ocean Parkway South","Boro Zone"
436-
179,"Queens","Old Astoria","Boro Zone"
437-
180,"Queens","Ozone Park","Boro Zone"
438-
181,"Brooklyn","Park Slope","Boro Zone"
439-
182,"Bronx","Parkchester","Boro Zone"
440-
183,"Bronx","Pelham Bay","Boro Zone"
441-
184,"Bronx","Pelham Bay Park","Boro Zone"
442-
185,"Bronx","Pelham Parkway","Boro Zone"
443-
186,"Manhattan","Penn Station/Madison Sq West","Yellow Zone"
444-
187,"Staten Island","Port Richmond","Boro Zone"
445-
188,"Brooklyn","Prospect-Lefferts Gardens","Boro Zone"
446-
189,"Brooklyn","Prospect Heights","Boro Zone"
447-
190,"Brooklyn","Prospect Park","Boro Zone"
448-
191,"Queens","Queens Village","Boro Zone"
449-
192,"Queens","Queensboro Hill","Boro Zone"
450-
193,"Queens","Queensbridge/Ravenswood","Boro Zone"
451-
194,"Manhattan","Randalls Island","Yellow Zone"
452-
195,"Brooklyn","Red Hook","Boro Zone"
453-
196,"Queens","Rego Park","Boro Zone"
454-
197,"Queens","Richmond Hill","Boro Zone"
455-
198,"Queens","Ridgewood","Boro Zone"
456-
199,"Bronx","Rikers Island","Boro Zone"
457-
200,"Bronx","Riverdale/North Riverdale/Fieldston","Boro Zone"
458-
201,"Queens","Rockaway Park","Boro Zone"
459-
202,"Manhattan","Roosevelt Island","Boro Zone"
460-
203,"Queens","Rosedale","Boro Zone"
461-
204,"Staten Island","Rossville/Woodrow","Boro Zone"
462-
205,"Queens","Saint Albans","Boro Zone"
463-
206,"Staten Island","Saint George/New Brighton","Boro Zone"
464-
207,"Queens","Saint Michaels Cemetery/Woodside","Boro Zone"
465-
208,"Bronx","Schuylerville/Edgewater Park","Boro Zone"
466-
209,"Manhattan","Seaport","Yellow Zone"
467-
210,"Brooklyn","Sheepshead Bay","Boro Zone"
468-
211,"Manhattan","SoHo","Yellow Zone"
469-
212,"Bronx","Soundview/Bruckner","Boro Zone"
470-
213,"Bronx","Soundview/Castle Hill","Boro Zone"
471-
214,"Staten Island","South Beach/Dongan Hills","Boro Zone"
472-
215,"Queens","South Jamaica","Boro Zone"
473-
216,"Queens","South Ozone Park","Boro Zone"
474-
217,"Brooklyn","South Williamsburg","Boro Zone"
475-
218,"Queens","Springfield Gardens North","Boro Zone"
476-
219,"Queens","Springfield Gardens South","Boro Zone"
477-
220,"Bronx","Spuyten Duyvil/Kingsbridge","Boro Zone"
478-
221,"Staten Island","Stapleton","Boro Zone"
479-
222,"Brooklyn","Starrett City","Boro Zone"
480-
223,"Queens","Steinway","Boro Zone"
481-
224,"Manhattan","Stuy Town/Peter Cooper Village","Yellow Zone"
482-
225,"Brooklyn","Stuyvesant Heights","Boro Zone"
483-
226,"Queens","Sunnyside","Boro Zone"
484-
227,"Brooklyn","Sunset Park East","Boro Zone"
485-
228,"Brooklyn","Sunset Park West","Boro Zone"
486-
229,"Manhattan","Sutton Place/Turtle Bay North","Yellow Zone"
487-
230,"Manhattan","Times Sq/Theatre District","Yellow Zone"
488-
231,"Manhattan","TriBeCa/Civic Center","Yellow Zone"
489-
232,"Manhattan","Two Bridges/Seward Park","Yellow Zone"
490-
233,"Manhattan","UN/Turtle Bay South","Yellow Zone"
491-
234,"Manhattan","Union Sq","Yellow Zone"
492-
235,"Bronx","University Heights/Morris Heights","Boro Zone"
493-
236,"Manhattan","Upper East Side North","Yellow Zone"
494-
237,"Manhattan","Upper East Side South","Yellow Zone"
495-
238,"Manhattan","Upper West Side North","Yellow Zone"
496-
239,"Manhattan","Upper West Side South","Yellow Zone"
497-
240,"Bronx","Van Cortlandt Park","Boro Zone"
498-
241,"Bronx","Van Cortlandt Village","Boro Zone"
499-
242,"Bronx","Van Nest/Morris Park","Boro Zone"
500-
243,"Manhattan","Washington Heights North","Boro Zone"
501-
244,"Manhattan","Washington Heights South","Boro Zone"
502-
245,"Staten Island","West Brighton","Boro Zone"
503-
246,"Manhattan","West Chelsea/Hudson Yards","Yellow Zone"
504-
247,"Bronx","West Concourse","Boro Zone"
505-
248,"Bronx","West Farms/Bronx River","Boro Zone"
506-
249,"Manhattan","West Village","Yellow Zone"
507-
250,"Bronx","Westchester Village/Unionport","Boro Zone"
508-
251,"Staten Island","Westerleigh","Boro Zone"
509-
252,"Queens","Whitestone","Boro Zone"
510-
253,"Queens","Willets Point","Boro Zone"
511-
254,"Bronx","Williamsbridge/Olinville","Boro Zone"
512-
255,"Brooklyn","Williamsburg (North Side)","Boro Zone"
513-
256,"Brooklyn","Williamsburg (South Side)","Boro Zone"
514-
257,"Brooklyn","Windsor Terrace","Boro Zone"
515-
258,"Queens","Woodhaven","Boro Zone"
516-
259,"Bronx","Woodlawn/Wakefield","Boro Zone"
517-
260,"Queens","Woodside","Boro Zone"
518-
261,"Manhattan","World Trade Center","Yellow Zone"
519-
262,"Manhattan","Yorkville East","Yellow Zone"
520-
263,"Manhattan","Yorkville West","Yellow Zone"
521-
264,"Unknown","N/A","N/A"
522-
265,"N/A","Outside of NYC","N/A""#;
260+
3,"Bronx","Allerton/Pelham Gardens","Boro Zone""#;
523261

524262
let mut csv = Vec::new();
525263

@@ -535,8 +273,10 @@ mod tests {
535273
csv.push(fields);
536274
}
537275

538-
for row in &csv {
539-
println!("{}\n", row.join("\t"));
276+
println!("Statistics\ntotal rows: {}", csv.len());
277+
278+
for (i, row) in csv.iter().enumerate() {
279+
println!("row {}\t{}\n", i, row.join("\t"));
540280
}
541281
}
542282

src/u8x16.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ impl u8x16 {
1212
pub const LANE_COUNT: usize = 16;
1313

1414
/// warning! this assumes slice has 16 bytes
15+
/// will panic if slice is not 16 bytes
1516
pub fn from_slice_unchecked(slice: &[u8]) -> Self {
17+
assert_eq!(slice.len(), 16);
18+
1619
unsafe { vld1q_u8(slice.as_ptr()) }.into()
1720
}
1821

@@ -115,9 +118,8 @@ mod tests {
115118

116119
#[test]
117120
fn test_nibbles() {
118-
let slice = u8x16::from_slice_unchecked(&[
119-
0x2c, 0xD, 0xA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120-
]);
121+
let slice =
122+
u8x16::from_slice_unchecked(&[0x2c, 0xD, 0xA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
121123

122124
let (hi, lo) = slice.nibbles();
123125

0 commit comments

Comments
 (0)