I actually started writing my own hardware test runner[0] to more imitate a spec/unit test runner, and because I really wanted just a folder, a NAND gate, and a DFF. I found the built-in components confusing, because I would not implement parts, and yet the tests would still pass.
Also, the source (thousands of lines of decent Java) is available at the bottom of the download page[1].
Also, the source (thousands of lines of decent Java) is available at the bottom of the download page[1].
[0] https://github.com/Jared314/n2trunner
[1] http://www.nand2tetris.org/software.php