A C++ Library for Testing Student Programs through Reflection