Executable Test Cases
Scenario 1
case1.csv:
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Stephen,Tyler,7452 Terrace Road,SomeTown,SD,91234
,Blankman,,SomeTown,SD,298
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Command:
./csvfilter --drop:3:SomeTown case1.csv
Output (in terminal):
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Scenario 3
case3.csv:
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Stephen,Tyler,7452 Terrace Road,SomeTown,SD,91234
,Blankman,,SomeTown,SD,298
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Command:
./csvfilter --drop:City:SomeTown case3.csv --output case3out.csv
Output (in terminal):
(empty)
case3out.csv:
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Scenario 4
case4.csv:
First;Last;Address;City;State;Postal
John;Doe;120 Jefferson St.;Riverside; NJ,8075
Jack;McGinnis;220 Hobo Ave.;Phila;PA;9119
John;Repici;120 Jefferson St.;Riverside;NJ;8075
Stephen;Tyler;7452 Terrace Road;SomeTown;SD;91234
;Blankman;;SomeTown;SD;298
Joan;Anne;Jet;9 Terrace Place;Desert City;CO;123
Command:
./csvfilter --drop:City:SomeTown --delim=';' case4.csv
Output (in terminal):
First;Last;Address;City;State;Postal
John;Doe;120 Jefferson St.;Riverside; NJ;8075
Jack;McGinnis;220 Hobo Ave.;Phila;PA;9119
John;Repici;120 Jefferson St.;Riverside;NJ;8075
Joan;Anne;Jet;9 Terrace Place;Desert City;CO;123
Scenario 5
case5.csv:
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Stephen,Tyler,7452 Terrace Road,SomeTown,SD,91234
,Blankman,,SomeTown,SD,298
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Command:
./csvfilter --drop:City:SomeTown case5.csv
Output (in terminal):
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Command:
./csvfilter --keep:City:Riverside case5.csv
Output (in terminal):
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Command:
./csvfilter --keep:First:* case5.csv
Output (in terminal):
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Stephen,Tyler,7452 Terrace Road,SomeTown,SD,91234
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Command:
./csvfilter --cut:Postal case5.csv
Output (in terminal):
First,Last,Address,City,State
John,Doe,120 Jefferson St.,Riverside, NJ
Jack,McGinnis,220 Hobo Ave.,Phila,PA
John,Repici,120 Jefferson St.,Riverside,NJ
Stephen,Tyler,7452 Terrace Road,SomeTown,SD
,Blankman,,SomeTown,SD
Joan,Anne,Jet,9 Terrace Place,Desert City,CO
Scenario 6
case6.csv:
hello
case6.txt:
First,Last,Address,City,State,Postal
John,Doe,120 Jefferson St.,Riverside, NJ,8075
Jack,McGinnis,220 Hobo Ave.,Phila,PA,9119
John,Repici,120 Jefferson St.,Riverside,NJ,8075
Stephen,Tyler,7452 Terrace Road,SomeTown,SD,91234
,Blankman,,SomeTown,SD,298
Joan,Anne,Jet,9 Terrace Place,Desert City,CO,123
Command:
./csvfilter --drop:City:SomeTown case6.csv
Output (in terminal):
Error: Input csv is not properly formatted!
Command:
./csvfilter --drop:City:SomeTown case6.txt
Output (in terminal):
Error: Input is not a csv file!
Scenario 8
Command: ./csvfilter --help
OR ./csvfilter --drop:City:SomeTown case6.txt --help
Output (in terminal):
print help menu here (we will design this later)