Add Dockerfiles, modify unit test system, and add unit tests