Errata: January 31, 2019

Thank you for purchasing The Art of Unit Testing, Second Edition. We'll update this list as necessary.

Unless otherwise noted, all listed errors have been corrected or are pending corrections in all formats.

Page xxiv:

Delete the following sentence in the first paragraph of the Code conventions and downloads:
A Readme.txt file is provided in the root folder and also in each chapter folder; the files provide details on how to install and run the code.

Page 25:

In the third paragraph, the last word, true should be false.
The first test will be to send in a valid filename and make sure the method returns false.

In item #2 in the numbered list, LogAnalyzer.cs shouldn't have an extention.
Name it LogAnalyzerTests (assuming that your class under test is named LogAnalyzer).

Page 29:

In the fourth paragraph, second line, Nugget should be NuGet.
If you installed NUnit.Runners via NuGet, you'll find the NUnit GUI EXE file in the Packages folder under your solution's root directory.

Page 36:

In the first paragraph, first line, TestFixture should be TestFixtureTearDown.
You almost never, ever use TearDown or TestFixtureTearDown methods in unit test projects.

Page 54:

In the Definition note, sixth line, extenuation should be extension.
Seams are what you get by implementing the Open-Closed Principle, where a class's functionality is open for extension, but its source code is closed for direct modification.

Page 64, Listing 3.6

A couple of statements are missing static and if and return use wrong case.

private static IExtensionManager customManager=null;
public static IExtensionManager Create()
{
if(customManager!=null)
return customManager;
return new FileExtensionManager();
}
public static void SetManager(IExtensionManager mgr)