Favor Path over File to allow testing using an in memory file system.
Add tests for data structures.