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.