6.1 Test-driven developmentExercises6.2 The CreateCustomer method6.2.1 Why you should always validate input arguments6.2.2 Using “arrange, act, assert” to write unit tests6.2.3 Validating against invalid characters6.2.4 In-lining test data with the [DataRow] attribute6.2.5 Object initializers and autogenerated code6.2.6 Constructors, reflection, and asynchronous programming6.2.7 Locks, mutexes, and semaphores6.2.8 Synchronous to asynchronous execution . . . continued6.2.9 Testing Entity Framework Core6.2.10 Controlling dependencies with dependency injectionExercisesSummary