8.6 Safe Refactoring to Support Testing
So that we can begin to add support for multiple channels, let’s figure out where it might be useful to verify functionality in the
open
function.
Near its end appears a number of calculations—total seconds, how many samples to write, where to start, and so on. After all these calculations is a for loop that appears to write samples to an output file. (This chunk of code appears highlighted in the earlier listing of
open
.) We’ll need to change a calculation or two plus fix the loop in order to support multiple channels.
The most interesting piece of code is the loop. Let’s write tests around that...but how? We’d need to set up lots of information to get that far in the
open
function.
Instead, let’s ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access