Simplify Tests and Add Functionality to `tests` Module

Primarily breaks up the stages of the test so that it is easier to only modify part of a test and includes generic gauge test check.  Also adds a multi-layer test that is currently not working but is skipped (providing a good example of a way to do this).