The purpose of this section of testing was to determine that each command returned the expected results.
This section of the testing required using a data structure dump of the contents of the hash of arrays after each command. This dump provided me with an inside look at the data structure to make sure that all field elements were where they should be. Unfortunately this meant I could only fully test the smaller files in detail. On larger files I tested the end section of the file. As any mistakes would propagate through to the end of the file this allowed me to check that the last 20 lines were correct, and be sure that the file was read in as expected.
The condition of success used for testing these commands was a one to one map between the original file structure (how many fields per row, how many rows per file), and the original files. In all cases the results were positive.
I also tested the program on an empty file which performed as expected providing the user with a useful error