What If?

Our implementation assumes that the letter passed to encodedDigit will be found in the encodings map. We make the assumption to allow moving forward incrementally, writing only the minimal code needed to pass each test. But we still have the responsibility of thinking about code that may need to be written.

Will it ever be possible for encodedDigit to be passed a letter that doesn’t appear in the lookup map? If so, what should the function do? Wikipedia doesn’t answer the question. We could guess, but the better answer is to ask the customer. We don’t have one, but we can find a customer proxy online. A web search quickly turns up a handful of Soundex calculator apps. We enter A# into one of them and receive A000 as a response. Question ...

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.