Refactor: Generalize file reader and writer tests for arbitrary file formats
The file reader writer tests can use a mock I/O class, eliminating the need for actual I/O during correctness tests. Mock I/O classes can also check the reader and writer classes are reading / writing the correct bytes to the correct part of the file.
Another approach is to use a distributed in-memory file class, and check what has been written to the file, or initialize the file in-memory.