One Thing at a Time

We want to test-drive converting multiple characters in the tail of the word.

c2/22/SoundexTest.cpp
 
TEST_F(SoundexEncoding, ReplacesMultipleConsonantsWithDigits) {
 
ASSERT_THAT(soundex.encode(​"Acdl"​), Eq(​"A234"​));
 
}

A simple solution would involve iterating through all but the first letter of the word, converting each. But our code isn’t quite structured in a way that easily supports that. Let’s restructure the code.

One thing at a time, however. When test-driving, you want to keep each step in the cycle distinct. When writing a test, don’t go off and refactor. Don’t refactor when trying to get a test to pass, either. Combining the two activities will waste your time when things go awry, which they will.

We comment out ...

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.