Tests are moved to a different file and the template definition is moved to a header file