PIM defines a unit test as demonstrable evidence that an individual module works in isolation and that it meets all requirements and the design criteria. In this context, an “individual module” means a header file (.h) and its corresponding implementation file (.c or .cpp). If you’re programming in C++, this means that essentially every class will require a corresponding unit test. In C, most of your functions will require unit tests.
I know this can sound overwhelming. If you have to write a unit test for every class, it seems ...