8.13 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 ...