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.