# Test-driven development: By example

> A book introducing test-driven development. The Money example in Part I uses Java, and the XUnit example in Part II uses Python. Part III is a collection of patterns.

A book introducing [test-driven development](https://wiki.g15e.com/en/pages/Test-driven%20development.txt). The Money example in Part I uses [Java](https://wiki.g15e.com/en/pages/Java.txt), and the XUnit example in Part II uses [Python](https://wiki.g15e.com/en/pages/Python.txt). Part III is a [collection of patterns](https://wiki.g15e.com/pages/Patterns%20for%20TDD.txt).

## Notes

Keep concerns from other domains out of the domain code:

> Using classes this way in model code is a bit smelly. We would like to use a criterion that makes sense in the domain of finance, not in the domain of Java objects. --Chapter 7

## See also

- [Clean code that works](https://wiki.g15e.com/pages/Clean%20code%20that%20works.txt)
- [Known to unknown](https://wiki.g15e.com/pages/Known%20to%20unknown.txt)
- [Test coverage](https://wiki.g15e.com/en/pages/Test%20coverage.txt)
- [Turn fears into broken tests](https://wiki.g15e.com/pages/Turn%20fears%20into%20broken%20tests.txt)
- [Dependency and duplication](https://wiki.g15e.com/pages/Dependency%20and%20duplication.txt)
- [Isolated test](https://wiki.g15e.com/en/pages/Isolated%20test.txt)
- [Just ask the computer](https://wiki.g15e.com/pages/Just%20ask%20the%20computer.txt)
- [Test-implementation coupling](https://wiki.g15e.com/pages/Test-implementation%20coupling.txt)
- [TDD and design](https://wiki.g15e.com/pages/TDD%20and%20design.txt)
- [What not to test](https://wiki.g15e.com/pages/What%20not%20to%20test.txt)
- [Bad smells in test](https://wiki.g15e.com/pages/Bad%20smells%20in%20test.txt)
- [When to delete tests](https://wiki.g15e.com/pages/When%20to%20delete%20tests.txt)
- [TDD and XP](https://wiki.g15e.com/pages/TDD%20and%20XP.txt)