Adds additional test coverage. Re-uses standard test cases where possible and added a few additional cases specific to some modes.