TDD Intro
by Tom Gutteridge

1. Behaviour
1.1. BDD
1.1.1. Outside-in
1.1.2. JBehave example
1.2. Specification by example
1.3. What vs. how
2. Mentality
2.1. Opposing mentalities
2.2. Coding by wishful thinking
2.2.1. IDE
2.2.1.1. Refactoring
2.2.1.1.1. Feedback
3. APN
3.1. Audience
3.1.1. Developers
3.2. Series
3.2.1. Spin-off
3.3. High-level signal
4. Live coding
4.1. Practice
5. Agile
5.1. XP
5.2. Scrum
5.3. Story test
5.3.1. ATDD
6. Continous testing
6.1. NCrunch
6.2. Infinitest
6.3. JUnit Max
7. 5:01 developer
8. Java
9. Isolation of system under test
9.1. Dependency injection
9.2. Test through another class?
9.3. Testing pyramid
9.3.1. ATDD
9.4. Interfaces
9.4.1. Roles
9.4.2. Contracts
9.4.3. Adaptors
9.4.3.1. 3rd Party code
9.4.3.2. Legacy code
9.4.4. Ownership of
9.5. Mock objects
9.5.1. Interaction testing
9.5.2. Over specification
9.6. Style
9.6.1. Boilerplate
9.6.2. More smaller classes
9.6.2.1. SRP
9.6.2.2. Separation of concerns
9.6.3. Polymorphism vs. switch case
9.6.4. Design patterns
9.6.4.1. Template Method vs. Strategy
9.6.4.1.1. Composition vs. inheritance
9.6.4.2. MVC
9.6.4.2.1. MVP
9.6.4.2.2. MVVM
9.6.5. Naming
9.6.6. Maintainability
10. Languages
10.1. Dynamic
10.2. C#
11. School
11.1. London
11.2. Chicago
11.2.1. Inside out