Mondo Extracto
We need to figure out where within the open function to call size. Our call could go near the end of open, immediately before the code sends a message to the descriptor object. But since size re-opens a file, we need to ensure that the new WAV file gets closed first.
Unfortunately, the structure of open presents quite a challenge. Code all the way up to the call to the descriptor is riddled with file reads and writes. Writing a test able to execute the entire function remains fairly challenging. (We could pass a real, vetted WAV file to open, but that would net us a slow and dependent test.)
Instead, we refactor open with the goal of deriving some functions that we might stub or mock. After about a dozen minutes of generally safe ...
Get Modern C++ Programming with Test-Driven Development now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.