Add more C++ tests

The rest of my changes to improve unit and integration test coverage