Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

A

ActionFixture class, automating customer tests with FIT, Connecting FIT to the Implementation, Connecting FIT to the Implementation, Connecting FIT to the Implementation, Check Action
check action command, Check Action
enter action command, Connecting FIT to the Implementation
start command, Connecting FIT to the Implementation
Add Web Reference Wizard, Web Service Producer
AddReview method, Changing the Catalog Class, Implementing a SOAP Fault
Catalog class, Changing the Catalog Class
modifications, Implementing a SOAP Fault
AddReviewAdapter, add/delete review functionality, Updating CatalogServiceInterface
AddReviewToRecording method (CatalogService class), Changing the CatalogService Class
AddSecondReview test, Implementing a SOAP Fault
AddTwoNumbers method, Test Life-Cycle Contract
ADO.NET transactions, Transactions in ADO.NET, Transactions in ADO.NET, Transactions in ADO.NET, Automatic Transaction Management
automatic management, Transactions in ADO.NET
manual management, Transactions in ADO.NET
participation, Automatic Transaction Management
algorithms, Sieve of Eratosthenes, Refactoring—By Example, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects
adding tests, Refactoring 1: Rename Method
applying refactoring, Refactoring 16: Convert Procedural Design to Objects
collapse loops, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope
Extract method, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method
reducing variable scope, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
Rename method, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method
replacing nested conditionals with guarded clauses, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More...
application packages, The Problem, The Problem, The Problem, The Problem
Data Access, The Problem
Data Model, The Problem
Service Interface, The Problem
appSettings section (configuration file), A Small Improvement
ArgumentOutOfRangeException, Test 6: Pop a Stack that has no elements.
arrays, isPrime, Refactoring 6: Rename Variable
Artist entity (media library application), Existing Database
Artist Gateway, defining DataSet for Recording database, Defining a Typed DataSet for the Recording Database, Artist Gateway, Primary Key Management, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, Primary Key Management
primary key management, Artist Gateway
ArtistFixture class, Primary Key Management, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, Primary Key Management
modification to work with DatabaseFixture class, Integrating TransactionManager with the Tests and Application Code
ArtistGateway, Integrating TransactionManager with the Tests and Application Code
ArtistName method (CatalogAdapter class), Running the Script
ASP.NET, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Implementing a Web Client
programmer tests, user interfaces, Implementing a Web Client
Web service programmer tests, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler
data transformation, Data Transformation
database catalog service, Mapping the Relationships in the Assembler
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
assemblers, RecordingDto, mapping relationships, Building an Assembler
assertions, Assertions
attributes, The Sieve, Entity Relationships, Entity Relationships, A Small Improvement, Defining a Typed DataSet for the Recording Database, Defining a Typed DataSet for the Recording Database, Defining a Typed DataSet for the Recording Database, Assertions, Assertions, Using SetUp/TearDown Attributes, Using SetUp/TearDown Attributes, Using the Ignore Attribute, Using the Ignore Attribute, Automatic Transaction Management
codegen:typedName="Id", Defining a Typed DataSet for the Recording Database
codegen:typedName="Review", Defining a Typed DataSet for the Recording Database
genreId, Entity Relationships
minOccurs="0", Defining a Typed DataSet for the Recording Database
NUnit, Assertions, Assertions, Using SetUp/TearDown Attributes, Using SetUp/TearDown Attributes, Using the Ignore Attribute, Using the Ignore Attribute
ExpectedException, Using SetUp/TearDown Attributes
Ignore, Using SetUp/TearDown Attributes
SetUp, Assertions
TearDown, Assertions
TextFixtureSetUp, Using the Ignore Attribute
TextFixtureTearDown, Using the Ignore Attribute
Obsolete, The Sieve
SetUp, A Small Improvement
trackId, Entity Relationships
TransactionOption.Required, Automatic Transaction Management
automatic transaction management, Transactions in ADO.NET
automation, customer tests (FIT), FIT Overview, Connecting FIT to the Implementation, Check Action, Running the Script, Continuing with the Automation, Verifying Review Information, Verifying Review Information
ActionFixture class, Connecting FIT to the Implementation
bridging FIT and software, FIT Overview
CatalogAdapter class, Check Action
FileRunner class, Running the Script
invalid ID script, Verifying Review Information
verifying review information, Verifying Review Information
verifying track information, Continuing with the Automation
averageRating field (RecordingDto), Data Transfer Object

B

Beck, Kent, Test-Driven Development Practices, Implementing the Search Page
binding search results with repeater Web controls, Implementing the Search Page
bridging FIT and software, FIT Overview

C

Catalog, Track-Recording Relationship, Implementing Add/Delete Review, Programmer Tests: Catalog Class
implementing add/delete review functionality, Implementing Add/Delete Review
programmer tests, Programmer Tests: Catalog Class
Catalog class, Track-Recording Relationship, Implementing Add/Delete Review, Changing the Catalog Class, Changing the Catalog Class, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Refactoring the Catalog class
implementing add/delete review functionality, Implementing Add/Delete Review, Changing the Catalog Class, Changing the Catalog Class
AddReview method, Changing the Catalog Class
DeleteReview method, Changing the Catalog Class
programmer tests, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Refactoring the Catalog class
CatalogFixture class, Programmer Tests: Catalog Class
FindByRecordingId method, Programmer Tests: Catalog Class, Refactoring the Catalog class
refactoring Catalog class, Programmer Tests: Catalog Class
Catalog.AddReview function, modifying to throw an exception, Programmer Tests
CatalogAdapter, Connecting FIT to the Implementation, Check Action, Check Action, Running the Script, Running the Script, Running the Script, Running the Script
ArtistName method, Running the Script
automating customer tests with FIT, Check Action
Duration method, Running the Script
FindByRecordingId method, Connecting FIT to the Implementation
Found method, Check Action
LabelName method, Running the Script
ReleaseDate method, Running the Script
CatalogAdapter class, Connecting FIT to the Implementation, Check Action, Check Action, Running the Script, Running the Script, Running the Script, Running the Script
ArtistName method, Running the Script
automating customer tests with FIT, Check Action
Duration method, Running the Script
FindByRecordingId method, Connecting FIT to the Implementation
Found method, Check Action
LabelName method, Running the Script
ReleaseDate method, Running the Script
CatalogFixture, Programmer Tests: Catalog Class
CatalogFixture class, Programmer Tests: Catalog Class
CatalogGateway, Web Service Producer, Programmer Tests
CatalogGateway class, Web Service Producer, Programmer Tests
proxy class, Web Service Producer
SOAP faults, Programmer Tests
CatalogService, Database Catalog Service, Changing the Catalog Class, Changing the CatalogService Class, Changing the CatalogService Class, The Problem, Implementing Search, Implementing Search
AddReviewToRecording method, Changing the CatalogService Class
DeleteReviewFromRecording method, Changing the CatalogService Class
implementing add/delete review functionality, Changing the Catalog Class
Search method, Implementing Search
CatalogService base class, Database Catalog Service
CatalogService class, Changing the Catalog Class, Changing the CatalogService Class, Changing the CatalogService Class, The Problem, Implementing Search, Implementing Search
AddReviewToRecording method, Changing the CatalogService Class
DeleteReviewFromRecording method, Changing the CatalogService Class
implementing add/delete review functionality, Changing the Catalog Class
Search method, Implementing Search
CatalogServiceGateway, Binding the Results to a Repeater Web Control, Creating the Page
CatalogServiceGateway class, Binding the Results to a Repeater Web Control, Creating the Page
CatalogServiceImplementation, Enough of This Stub
CatalogServiceImplementation class, Enough of This Stub
CatalogServiceInterface, Web Service Tests, The Problem
CatalogServiceInterface class, Web Service Tests, Updating DatabaseCatalogService, The Problem
updating, Updating DatabaseCatalogService
CatalogServiceStub, Implementing the Search Page, Creating the Page
CatalogServiceStub class, Implementing the Search Page, Creating the Page
CatalogServiceStubFixture, Building an Assembler
check action command (ActionFixture class), Check Action
CheckId test, Database Catalog Service, Web Service Producer
CheckTitle test, verifying title field, Recording.xsd
classes, Connecting FIT to the Implementation, Integrating TransactionManager with the Tests and Application Code
ActionFixture, automating customer tests with FIT, Connecting FIT to the Implementation
ArtistFixture, modification to work with DatabaseFixture class, Integrating TransactionManager with the Tests and Application Code
clients, Web clients, Implementing a Web Client, Testing User Interfaces, Implementing Search, Implementing the Search Page, Binding the Results to a Repeater Web Control, Creating the Page
Search page, Testing User Interfaces, Implementing Search, Implementing the Search Page, Binding the Results to a Repeater Web Control, Creating the Page
binding search results with repeater Web controls, Implementing the Search Page
CatalogServiceGateway class, Creating the Page
creating, Binding the Results to a Repeater Web Control
implementing, Implementing Search
testing user interfaces, Implementing a Web Client
Close option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
code refactoring, Simple Design, Test List, Choosing the First Test, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Refactoring—By Example, Refactoring—By Example, Refactoring—By Example, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Refactoring 0: Remove Unneeded Code, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects, Refactoring 16: Convert Procedural Design to Objects, ArtistFixture.cs, Web Services Security, Programmer Tests: Catalog Class, Refactoring the Catalog class, Refactoring the Catalog class, Service Layer Refactoring
applications, Refactoring 16: Convert Procedural Design to Objects
Catalog class, Programmer Tests: Catalog Class, Refactoring the Catalog class, Refactoring the Catalog class
CommandExecutor class, Refactoring the Catalog class
writing proxy classes, Refactoring the Catalog class
code, Web services, Web Services Security
collapse loops, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope
cycle, Before Refactoring the Code: Make Sure It All Works
defined, Refactoring—By Example
Extract method, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method
Red/Green/Refactor, Test List, Choosing the First Test, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
creating empty Stacks, Choosing the First Test
pushing multiple objects on Stacks, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
pushing single objects on Stacks, Test 1: Create a Stack and verify that IsEmpty is true.
reducing variable scope, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
removing unneeded code, Before Refactoring the Code: Make Sure It All Works
Rename method, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method
replacing nested conditionals with guarded clauses, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More...
ServiceLayer, Service Layer Refactoring
SetUp, ArtistFixture.cs
Sieve of Eratosthenes, Refactoring—By Example, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects
adding tests, Refactoring 1: Rename Method
applying refactoring, Refactoring 16: Convert Procedural Design to Objects
collapse loops, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope
Extract method, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method
reducing variable scope, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
Rename method, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method
replacing nested conditionals with guard clauses, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More...
testing known good state, Before Refactoring the Code: Make Sure It All Works
tests, Refactoring 1: Rename Method
codegen:typedName="Id" attribute, Defining a Typed DataSet for the Recording Database
codegen:typedName="Review" attribute, Defining a Typed DataSet for the Recording Database
Collapse All option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
Collapse Fixtures option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
collapse loops, refactoring, Refactoring 6: Rename Variable
Collapse option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
Command interface (CommandExecutor class), Refactoring the Catalog class
CommandExecutor class, refactoring Catalog class, Refactoring the Catalog class, Refactoring the Catalog class, Refactoring the Catalog class
Command interface, Refactoring the Catalog class
Execute method, Refactoring the Catalog class
CommandExecutor, refactoring Catalog class, Refactoring the Catalog class
commands (ActionFixture class), Connecting FIT to the Implementation, Connecting FIT to the Implementation, Check Action
check action, Check Action
enter action, Connecting FIT to the Implementation
start, Connecting FIT to the Implementation
completion, customer tests, Customer Tests: Completing the First Feature
conditionals, nested, replacing with guarded clauses, Refactoring 3: Hide Method
configuration files, Connecting to the Database, A Small Improvement, A Small Improvement
appSettings section, A Small Improvement
reading connection strings from, Connecting to the Database, A Small Improvement
ConfigurationSettings class, Connecting to the Database
separating tests, A Small Improvement
ConfigurationSettings class, reading connection string from configuration file, Connecting to the Database
ConfigurationSettings, reading connection string from configuration file, Connecting to the Database
ConnectionFixture.cs, Genre Gateway
ConnectionState enumerations, The Task
consistency, testing database access layer, Testing the Database Access Layer
consumer infrastructure, Web service tests, Web Service Producer
customer tests, Test Types, Test Types, Customer Tests: Completing the First Feature, Customer Tests: Completing the First Feature, Customer Tests: Completing the First Feature, Customer Tests: Completing the First Feature, Customer Tests, Customer Tests, Script 2. Retrieve a nonexistent recording, Script 2. Retrieve a nonexistent recording, Verifying Review Information, Verifying Review Information, Reconciling Viewpoints, Track Duration, Driving Development with Customer Tests, Driving Development with Customer Tests, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests
adding review to recordings, Driving Development with Customer Tests
adding reviews to recordings, FIT script, Driving Development with Customer Tests
automation, Script 2. Retrieve a nonexistent recording
automation, FIT, Script 2. Retrieve a nonexistent recording
determining completion, Customer Tests: Completing the First Feature, Customer Tests: Completing the First Feature
exposing failure conditions, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests
reconciling viewpoints, Verifying Review Information, Verifying Review Information, Reconciling Viewpoints, Track Duration
recording duration, Track Duration
track duration, Reconciling Viewpoints
recording retrieval, Customer Tests
recording retrieval, test scripts, Customer Tests

D

Data Access package, The Problem
Data Model package, The Problem
data models, media library application, Existing Database
data structures, stacks, Test-Driven Development in .NET—By Example, Test-Driven Development in .NET—By Example, Test-Driven Development in .NET—By Example, Test List, Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct., Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false., Test 8: Push a single object, remembering what it is; and then call Top. Verify that the object that is returned is equal to the one that was pushed., Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top., Test 11: Call Top on a Stack that has no elements.
calling Top on, Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top.
creating, Test-Driven Development in .NET—By Example
popping, Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct.
pushing multiple objects, Test 8: Push a single object, remembering what it is; and then call Top. Verify that the object that is returned is equal to the one that was pushed.
pushing null on, Test 11: Call Top on a Stack that has no elements.
pushing single objects, Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
test list, Test List
unbounded, Test-Driven Development in .NET—By Example
data transfer object., Programmer Tests: Using TDD with ASP.NET Web Services (see )
data transformation, ASP.NET Web service programmer tests, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Mapping the Relationships in the Assembler
database catalog service, Mapping the Relationships in the Assembler
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
database access layer, Programmer Tests: Using TDD with ADO.NET, The Task, The Task, Separating the Tests, IdGeneratorFixture.cs, Track-Recording Relationship, Retrieve a Recording
connecting to databases, The Task
isolating individual entities, Separating the Tests
listing tests needed for completion, The Task
relationships between entities, IdGeneratorFixture.cs
retrieving recordings, Track-Recording Relationship
test organization, Retrieve a Recording
database access layer, testing, Programmer Tests: Using TDD with ADO.NET, The Task, The Task, Separating the Tests, IdGeneratorFixture.cs, Track-Recording Relationship, Retrieve a Recording
connecting to databases, The Task
isolating individual entities, Separating the Tests
listing tests needed for completion, The Task
relationships between entities, IdGeneratorFixture.cs
retrieving recordings, Track-Recording Relationship
test organization, Retrieve a Recording
database catalog service, CheckId test, Database Catalog Service
DatabaseCatalogService, The Problem
DatabaseCatalogService class, The Problem
DatabaseCatalogService subclass (CatalogService class), Changing the CatalogService Class
DatabaseCatalogServiceFixture, Database Catalog Service
DatabaseFixture, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code
modified ArtistFixture class, Integrating TransactionManager with the Tests and Application Code
transaction test pattern, Integrating TransactionManager with the Tests and Application Code
DatabaseFixture class, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code
modified ArtistFixture class, Integrating TransactionManager with the Tests and Application Code
transactions test pattern, Integrating TransactionManager with the Tests and Application Code
databases, media library application, The Skinny
DataSets, defining typed DataSets for Recording databases, Separating the Tests, Defining a Typed DataSet for the Recording Database, ArtistFixture.cs
Artist Gateway, Defining a Typed DataSet for the Recording Database
Genre Gateway, ArtistFixture.cs
debuggers (Visual Studio .NET), NUnit-Gui, Test Life-Cycle Contract
declarative transaction management., Transactions in ADO.NET (see )
Delete method (ArtistFixture.cs), ArtistFixture.cs
DeleteReview method (Catalog class), Changing the Catalog Class
DeleteReviewFromRecording method (CatalogService class), Changing the CatalogService Class
design, simple, Simple Design
Detail property, SoapException, Implementing a SOAP Fault
direct security context propagation, Web services security, Web Services Security
division, NUnit, Using SetUp/TearDown Attributes
DTO (data transfer object), data transformation, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation
RecordingDto, Data Transformation
Duration method (CatalogAdapter class), Running the Script

E

enter action command (ActionFixture class), Connecting FIT to the Implementation
entities, Existing Database, Existing Database, Separating the Tests, IdGeneratorFixture.cs, Retrieve a Recording
Label entity (media library application), Existing Database
media library application, Existing Database
testing database access layer, Separating the Tests, IdGeneratorFixture.cs, Retrieve a Recording
isolated entities, Separating the Tests
relationships between entities, IdGeneratorFixture.cs
test organization, Retrieve a Recording
enumerations, ConnectionState, The Task
Eratosthenes, Sieve of, Refactoring—By Example, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects
adding tests, Refactoring 1: Rename Method
applying refactoring, Refactoring 16: Convert Procedural Design to Objects
collapse loops, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope
Extract method, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method
reducing variable scope, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
Rename method, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method
replacing nested conditionals with guard clauses, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More...
Errors and Failures window (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
exceptions, Test 6: Pop a Stack that has no elements., Programmer Tests
ArgumentOutOfRangeException, Test 6: Pop a Stack that has no elements.
propagating, Programmer Tests
Execute method (CommandExecutor class), Refactoring the Catalog class
ExistingReviewException, Programmer Tests, The Solution
ExistingReviewException class, Programmer Tests, The Solution
ExistingReviewId method (ReviewAdapter class), Driving Development with Customer Tests: Exposing a Failure Condition, Implementing a SOAP Fault
ExistingReviewMapper, Implementing a SOAP Fault, The Solution
ExistingReviewMapper class, Implementing a SOAP Fault, The Solution
Exit option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
Expand All option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
Expand Fixtures option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
Expand option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
ExpectedException attribute (NUnit), Using SetUp/TearDown Attributes
explicit transaction management., Transactions in ADO.NET (see )
eXtensible Schema Definition schema file., Defining a Typed DataSet for the Recording Database (see )
Extract method, refactoring, Refactoring 12: Remove Dead Code
Extreme Programming Explored, Test List
Extreme Programming Installed, Simple Design

F

failures, Add a review to an existing recording, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests
adding and deleting reviews, Add a review to an existing recording
exposing with customer tests, Driving Development with Customer Tests: Exposing a Failure Condition
exposing with programmer tests, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests
defining ExistingReviewException class, Programmer Tests
modifying Catalog.AddReview function, Programmer Tests
propagating exceptions, Programmer Tests
searching for an exception after second review, Driving Development with Customer Tests: Exposing a Failure Condition
SOAP faults, Programmer Tests
Failures panel (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
fields, Data Transfer Object, Mapping the Relationships in the Assembler, Creating the Page
RecordingDto, Data Transfer Object
recordingId, Creating the Page
totalRunTime, Mapping the Relationships in the Assembler
File menu (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Close option, Step 6. Become familiar with the NUnit-Gui layout.
Exit option, Step 6. Become familiar with the NUnit-Gui layout.
New Project option, Step 6. Become familiar with the NUnit-Gui layout.
Open option, Step 6. Become familiar with the NUnit-Gui layout.
Recent Files option, Step 6. Become familiar with the NUnit-Gui layout.
Reload option, Step 6. Become familiar with the NUnit-Gui layout.
Save As option, Step 6. Become familiar with the NUnit-Gui layout.
Save option, Step 6. Become familiar with the NUnit-Gui layout.
FileRunner class, automating customer tests with FIT, Running the Script
FileRunner, automating customer tests with FIT, Running the Script
FindById method, ArtistFixture.cs, Database Catalog Service
FindByRecordingId method, Track-Recording Relationship, Recording.xsd, Connecting FIT to the Implementation
CatalogAdapter class, Connecting FIT to the Implementation
RecordingDto, Recording.xsd
retrieving recordings, Track-Recording Relationship
FindByRecordingId method (Catalog class), Programmer Tests: Catalog Class, Refactoring the Catalog class
FindByRecordingId WebMethod, Web Service Tests
FIT (Framework for Integrated Test), Test Types, Script 2. Retrieve a nonexistent recording, FIT Overview, Connecting FIT to the Implementation, Check Action, Running the Script, Continuing with the Automation, Verifying Review Information, Verifying Review Information, Driving Development with Customer Tests, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording
adding reviews to recordings, Driving Development with Customer Tests, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording
failures, Add a review to an existing recording
implementing with programmer tests, Add a review to an existing recording
removing reviews, Add a review to an existing recording
ReviewAdapter, Add a review to an existing recording
verifying contents of review, Add a review to an existing recording
automating customer tests, Script 2. Retrieve a nonexistent recording, FIT Overview, Connecting FIT to the Implementation, Check Action, Running the Script, Continuing with the Automation, Verifying Review Information, Verifying Review Information
ActionFixture class, Connecting FIT to the Implementation
bridging FIT and software, FIT Overview
CatalogAdapter class, Check Action
FileRunner class, Running the Script
invalid ID script, Verifying Review Information
verifying review information, Verifying Review Information
verifying track information, Continuing with the Automation
fixtures, Test Case
FKx (foreign key), Entity Relationships
Found method (CatalogAdapter class), Check Action
Fowler, Martin, Simple Design, Refactoring—By Example
Framework for Integrated Test (FIT), Script 2. Retrieve a nonexistent recording, FIT Overview, Connecting FIT to the Implementation, Check Action, Running the Script, Continuing with the Automation, Verifying Review Information, Verifying Review Information, Driving Development with Customer Tests, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording
adding reviews to recordings, Driving Development with Customer Tests, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording, Add a review to an existing recording
failures, Add a review to an existing recording
implementing with programmer tests, Add a review to an existing recording
removing reviews, Add a review to an existing recording
ReviewAdapter, Add a review to an existing recording
verifying contents of review, Add a review to an existing recording
automating customer tests, Script 2. Retrieve a nonexistent recording, FIT Overview, Connecting FIT to the Implementation, Check Action, Running the Script, Continuing with the Automation, Verifying Review Information, Verifying Review Information
ActionFixture class, Connecting FIT to the Implementation
bridging FIT and software, FIT Overview
CatalogAdapter class, Check Action
FileRunner class, Running the Script
invalid ID script, Verifying Review Information
verifying review information, Verifying Review Information
verifying track information, Continuing with the Automation
functional tests, user interfaces, Implementing a Web Client
functional, user interfaces, Implementing a Web Client
functions., Test-Driven Development in .NET—By Example, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 1: Create a Stack and verify that IsEmpty is true., Test 3: Push a single object, Pop the object, and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false., Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top., The Sieve, The Sieve, Refactoring 0: Remove Unneeded Code, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 12: Remove Dead Code, A Small Improvement, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, Genre Gateway, Track-Recording Relationship, Recording.xsd, Building an Assembler, Building an Assembler, Mapping the Relationships in the Assembler, Database Catalog Service, Connecting FIT to the Implementation, Check Action, Running the Script, Running the Script, Running the Script, Running the Script, Reconciling Viewpoints, Changing the Catalog Class, Changing the Catalog Class, Changing the Catalog Class, Changing the CatalogService Class, Changing the CatalogService Class, Driving Development with Customer Tests: Exposing a Failure Condition, Implementing a SOAP Fault, Implementing a SOAP Fault, Programmer Tests, Programmer Tests, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Programmer Tests: Catalog Class, Refactoring the Catalog class, Refactoring the Catalog class, Implementing Search, Creating the Page, Creating the Page, Enough of This Stub, Test Life-Cycle Contract, Manual Transaction Management
(see also )
AddReview, Changing the Catalog Class, Implementing a SOAP Fault
Catalog class, Changing the Catalog Class
modifications, Implementing a SOAP Fault
AddReviewToRecording (CatalogService class), Changing the CatalogService Class
AddTwoNumbers, Test Life-Cycle Contract
ArtistName (CatalogAdapter class), Running the Script
Delete (ArtistFixture.cs), ArtistFixture.cs
DeleteReview (Catalog class), Changing the Catalog Class
DeleteReviewFromRecording (CatalogService class), Changing the CatalogService Class
Duration (CatalogAdapter class), Running the Script
Execute (CommandExecutor class), Refactoring the Catalog class
ExistingReviewId (ReviewAdapter class), Implementing a SOAP Fault
ExistingReviewId (ReviewAdapter), Driving Development with Customer Tests: Exposing a Failure Condition
Extract, refactoring, Refactoring 12: Remove Dead Code
FindById, ArtistFixture.cs, Database Catalog Service
ArtistFixture.cs, ArtistFixture.cs
FindByRecordingId, Track-Recording Relationship, Recording.xsd, Connecting FIT to the Implementation
CatalogAdapter class, Connecting FIT to the Implementation
RecordingDto, Recording.xsd
retrieving recordings, Track-Recording Relationship
FindByRecordingId (Catalog class), Programmer Tests: Catalog Class, Refactoring the Catalog class
Found (CatalogAdapter class), Check Action
Generate (Sieve of Eratoshenes), The Sieve
GenerateArray (Sieve of Eratosthenes), The Sieve, Refactoring 3: Hide Method
GetDtos, Enough of This Stub
GetNextId, ArtistFixture.cs, Genre Gateway
ArtistFixture.cs, ArtistFixture.cs
GenreFixture.cs, Genre Gateway
Hide, refactoring, Refactoring 2: Add a Test
inlining, Refactoring 5: Inline Method
Insert (ArtistFixture.cs), ArtistFixture.cs
InvalidOperationException, Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top.
IsEmpty, Test-Driven Development in .NET—By Example, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
verifying false value, Test 1: Create a Stack and verify that IsEmpty is true., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
verifying true value, Choosing the First Test
LabelName (CatalogAdapter class), Running the Script
PushOne, Test 1: Create a Stack and verify that IsEmpty is true.
PushPopContentCheck, Test 3: Push a single object, Pop the object, and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
PushPopMultipleElements, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
ReleaseDate (CatalogAdapter class), Running the Script
Rename, refactoring, Refactoring 0: Remove Unneeded Code
RetrieveConnectionString, A Small Improvement
RunATransaction, Manual Transaction Management
Search (CatalogService class), Implementing Search
SearchButtonClick, Creating the Page, Creating the Page
SetUp, ArtistFixture.cs, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, ArtistFixture.cs
TearDown, ArtistFixture.cs, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, ArtistFixture.cs
Update (ArtistFixture.cs), ArtistFixture.cs
WriteDto, Building an Assembler
WriteTotalRunTime, Mapping the Relationships in the Assembler
WriteTrack, Building an Assembler, Reconciling Viewpoints

G

Generate method (Sieve of Eratosthenes), The Sieve
GenerateArray method (Sieve of Eratosthenes), The Sieve, Refactoring 3: Hide Method
Genre entity (media library application), Existing Database
Genre Gateway, defining DataSet for Recording database, ArtistFixture.cs
GenreFixture, Integrating TransactionManager with the Tests and Application Code
GenreFixture class, Integrating TransactionManager with the Tests and Application Code
GenreFixture.cs, ArtistFixture.cs
GenreGateway, Integrating TransactionManager with the Tests and Application Code
GenreGateway class, Integrating TransactionManager with the Tests and Application Code
genreId attribute, Entity Relationships
GetDtos method, Enough of This Stub
GetNextId method, ArtistFixture.cs, Genre Gateway
ArtistFixture.cs, ArtistFixture.cs
GenreFixture.cs, Genre Gateway
Green (NUnit-Gui progress bar), Step 5. Compile and run your test.

H

Hide method, refactoring, Refactoring 2: Add a Test

I

IDbConnection interface, Manual Transaction Management
IDbTransaction interface, Manual Transaction Management
IdGenerator, Integrating TransactionManager with the Tests and Application Code
IdGenerator class, Integrating TransactionManager with the Tests and Application Code
IdGeneratorFixture.cs, ConnectionFixture.cs
Ignore attribute (NUnit), Using SetUp/TearDown Attributes
inlining methods, Refactoring 5: Inline Method
InMemoryRecordingBuilder, Building an Assembler, Changing the CatalogService Class
InMemoryRecordingBuilder class, Building an Assembler, Changing the CatalogService Class
Insert method (ArtistFixture.cs), ArtistFixture.cs
interfaces, Implementing a Web Client, Manual Transaction Management, Manual Transaction Management
IDbConnection, Manual Transaction Management
IDbTransaction, Manual Transaction Management
user interfaces, testing, Implementing a Web Client
invalid ID script, automating customer tests, Verifying Review Information
InvalidId test, Data Transformation
InvalidOperationException method, Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top.
IsEmpty function, Test-Driven Development in .NET—By Example, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
verifying false value, Test 1: Create a Stack and verify that IsEmpty is true., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
verifying true value, Choosing the First Test
isolated entities, testing database access layer, Separating the Tests, Separating the Tests, IdGeneratorFixture.cs, Retrieve a Recording
isolated entities, Separating the Tests
relationships between entities, IdGeneratorFixture.cs
test organization, Retrieve a Recording
isPrime array, Refactoring 6: Rename Variable

J

Jeffries, Ron, Simple Design

M

management, transactions (ADO.NET), Transactions in ADO.NET, Transactions in ADO.NET
automatic, Transactions in ADO.NET
manual, Transactions in ADO.NET
manual refactoring of code, Web services, Web Services Security
manual transaction management, Transactions in ADO.NET
mapped security contexts, Web services security, Web Services Security
mapping relationships (assemblers), RecordingDto, Building an Assembler
media library application, The Media Library Example, The Skinny, Existing Database, Entity Relationships
ASP.NET Web services, Entity Relationships
existing databases, The Skinny
recordings data model, Existing Database
menus, Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
File (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Close option, Step 6. Become familiar with the NUnit-Gui layout.
Exit option, Step 6. Become familiar with the NUnit-Gui layout.
New Project option, Step 6. Become familiar with the NUnit-Gui layout.
Open option, Step 6. Become familiar with the NUnit-Gui layout.
Recent Files option, Step 6. Become familiar with the NUnit-Gui layout.
Reload option, Step 6. Become familiar with the NUnit-Gui layout.
Save As option, Step 6. Become familiar with the NUnit-Gui layout.
Save option, Step 6. Become familiar with the NUnit-Gui layout.
Tools (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Options option, Step 6. Become familiar with the NUnit-Gui layout.
Save Results as XML option, Step 6. Become familiar with the NUnit-Gui layout.
View (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Collapse All option, Step 6. Become familiar with the NUnit-Gui layout.
Collapse Fixtures option, Step 6. Become familiar with the NUnit-Gui layout.
Collapse option, Step 6. Become familiar with the NUnit-Gui layout.
Expand All option, Step 6. Become familiar with the NUnit-Gui layout.
Expand Fixtures option, Step 6. Become familiar with the NUnit-Gui layout.
Expand option, Step 6. Become familiar with the NUnit-Gui layout.
Properties option, Step 6. Become familiar with the NUnit-Gui layout.
methods., Test 1: Create a Stack and verify that IsEmpty is true., Test 3: Push a single object, Pop the object, and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top., The Sieve, The Sieve, Refactoring 0: Remove Unneeded Code, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 12: Remove Dead Code, A Small Improvement, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, ArtistFixture.cs, Genre Gateway, Track-Recording Relationship, Recording.xsd, Building an Assembler, Building an Assembler, Mapping the Relationships in the Assembler, Database Catalog Service, Connecting FIT to the Implementation, Check Action, Running the Script, Running the Script, Running the Script, Running the Script, Reconciling Viewpoints, Changing the Catalog Class, Changing the Catalog Class, Changing the Catalog Class, Changing the CatalogService Class, Changing the CatalogService Class, Driving Development with Customer Tests: Exposing a Failure Condition, Implementing a SOAP Fault, Implementing a SOAP Fault, Programmer Tests, Programmer Tests, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Programmer Tests: Catalog Class, Refactoring the Catalog class, Refactoring the Catalog class, Implementing Search, Creating the Page, Creating the Page, Enough of This Stub, Test Life-Cycle Contract, Manual Transaction Management
(see also )
AddReview, Changing the Catalog Class, Implementing a SOAP Fault
Catalog class, Changing the Catalog Class
modifications, Implementing a SOAP Fault
AddReviewToRecording (CatalogService class), Changing the CatalogService Class
AddTwoNumbers, Test Life-Cycle Contract
ArtistName (CatalogAdapter class), Running the Script
Delete (ArtistFixture.cs), ArtistFixture.cs
DeleteReview (Catalog class), Changing the Catalog Class
DeleteReviewFromRecording (CatalogService class), Changing the CatalogService Class
Duration (CatalogAdapter class), Running the Script
Execute (CommandExecutor class), Refactoring the Catalog class
ExistingReviewId (ReviewAdapter class), Implementing a SOAP Fault
ExistingReviewId (ReviewAdapter), Driving Development with Customer Tests: Exposing a Failure Condition
Extract, refactoring, Refactoring 12: Remove Dead Code
FindById, ArtistFixture.cs, Database Catalog Service
ArtistFixture.cs, ArtistFixture.cs
FindByRecordingId, Track-Recording Relationship, Recording.xsd, Connecting FIT to the Implementation
CatalogAdapter class, Connecting FIT to the Implementation
RecordingDto, Recording.xsd
retrieving recordings, Track-Recording Relationship
FindByRecordingId (Catalog class), Programmer Tests: Catalog Class, Refactoring the Catalog class
Found (CatalogAdapter class), Check Action
Generate (Sieve of Eratosthenes), The Sieve
GenerateArray (Sieve of Eratosthenes), The Sieve, Refactoring 3: Hide Method
GetDtos, Enough of This Stub
GetNextId, ArtistFixture.cs, Genre Gateway
ArtistFixture.cs, ArtistFixture.cs
GenreFixture.cs, Genre Gateway
Hide, refactoring, Refactoring 2: Add a Test
inlining, Refactoring 5: Inline Method
Insert (ArtistFixture.cs), ArtistFixture.cs
InvalidOperationException, Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top.
LabelName (CatalogAdapter class), Running the Script
PushOne, Test 1: Create a Stack and verify that IsEmpty is true.
PushPopContentCheck, Test 3: Push a single object, Pop the object, and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
PushPopMultipleElements, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
ReleaseDate (CatalogAdapter class), Running the Script
Rename, refactoring, Refactoring 0: Remove Unneeded Code
RetrieveConnectionString, A Small Improvement
RunATransaction, Manual Transaction Management
Search (CatalogService class), Implementing Search
SearchButtonClick, Creating the Page, Creating the Page
SetUp, ArtistFixture.cs, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, ArtistFixture.cs
TearDown, ArtistFixture.cs, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, ArtistFixture.cs
Update (ArtistFixture.cs), ArtistFixture.cs
WriteDto, Building an Assembler
WriteTotalRunTime, Mapping the Relationships in the Assembler
WriteTrack, Building an Assembler, Reconciling Viewpoints
minOccurs="0" attribute, Defining a Typed DataSet for the Recording Database
multiplication, NUnit, Assertions

N

nested conditionals, replacing with guarded clauses, Refactoring 3: Hide Method
New Project option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
Nnunit (NUnit-Gui), Visual Studio .NET debugger, Test Life-Cycle Contract
null, pushing on Stacks, Test 11: Call Top on a Stack that has no elements.
NumbersFixture class, adding to projects (NUnit), Step 3. Add a class to the project.
NumbersFixture, adding to projects (NUnit), Step 3. Add a class to the project.
NUnit, The Sieve, NUnit Primer, NUnit Primer, NUnit Primer, Step 1. Create Visual Studio Project for your test code., Step 3. Add a class to the project., Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test., Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions, Assertions, Assertions, Using SetUp/TearDown Attributes, Using SetUp/TearDown Attributes, Using the Ignore Attribute, Using the Ignore Attribute
attributes, Assertions, Assertions, Using SetUp/TearDown Attributes, Using SetUp/TearDown Attributes, Using the Ignore Attribute, Using the Ignore Attribute
ExpectedException, Using SetUp/TearDown Attributes
Ignore, Using SetUp/TearDown Attributes
SetUp, Assertions
TearDown, Assertions
TextFixtureSetUp, Using the Ignore Attribute
TextFixtureTearDown, Using the Ignore Attribute
NumbersFixture class, adding to projects, Step 3. Add a class to the project.
NUnit-Gui test runner, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test.
layout, Step 5. Compile and run your test.
running tests, Step 5. Compile and run your test.
setup, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner.
nunit.framework.dll, adding references to, Step 1. Create Visual Studio Project for your test code.
projects, NUnit Primer
Test case, Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
Web site, NUnit Primer
NUnit-Gui, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test., Step 5. Compile and run your test., Test Life-Cycle Contract
layout, Step 5. Compile and run your test.
running tests, Step 5. Compile and run your test.
setup, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner.
Visual Studio .NET debugger, Test Life-Cycle Contract

O

objects, Refactoring 15: Reduce Local Variable Scope, The Task, Implementing the Search Page
converting procedural design to (refactoring), Refactoring 15: Reduce Local Variable Scope
RecordingDto (CatalogService class), Implementing the Search Page
SqlConnection, The Task
Obsolete attribute, The Sieve
Open option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
Options option (NUnit-Gui Tools menu), Step 6. Become familiar with the NUnit-Gui layout.
organization, testing database access layer, Retrieve a Recording, Retrieve a Recording, Retrieve a Recording, Test Organization
entities, Retrieve a Recording
relationships, Retrieve a Recording
utilities, Test Organization

P

packages (application), Web Services Security, The Problem, The Problem, The Problem, The Problem
Data Access, The Problem
Data Model, The Problem
Service Interface, The Problem
structure, Web services, Web Services Security
panels, NUnit-Gui, Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Failures, Step 6. Become familiar with the NUnit-Gui layout.
Status, Step 6. Become familiar with the NUnit-Gui layout.
Test Cases, Step 6. Become familiar with the NUnit-Gui layout.
Tests Run, Step 6. Become familiar with the NUnit-Gui layout.
Time, Step 6. Become familiar with the NUnit-Gui layout.
PK (primary key), Entity Relationships
Pop operation, Test List, Test 2: Push a single object on the Stack and verify that IsEmpty is false., Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct.
objects, Test 2: Push a single object on the Stack and verify that IsEmpty is false.
Stacks, Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct.
primary key (PK), Entity Relationships, Artist Gateway
producer infrastructure, Web service tests, Web Service Tests
production database, testing database access layer, Testing the Database Access Layer
programmer, Test Types, Verifying Review Information, Add a review to an existing recording, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Implementing a Web Client
add and delete review functionality, Add a review to an existing recording
exposing failure conditions, Driving Development with Customer Tests: Exposing a Failure Condition
synchronizing with customer tests, Verifying Review Information
transactions, Programmer Tests
user interfaces, Implementing a Web Client
programmer tests, Test Types, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service, Verifying Review Information, Reconciling Viewpoints, Track Duration, Add a review to an existing recording, Implementing Add/Delete Review, Implementing Add/Delete Review, Changing the Catalog Class, Changing the CatalogService Class, Updating DatabaseCatalogService, Updating CatalogServiceInterface, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class, Implementing a Web Client, Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
add review functionality, Add a review to an existing recording, Implementing Add/Delete Review, Implementing Add/Delete Review, Changing the Catalog Class, Changing the CatalogService Class, Updating DatabaseCatalogService, Updating CatalogServiceInterface
AddReviewAdapter modification, Updating CatalogServiceInterface
changing Catalog class, Implementing Add/Delete Review
changing CatalogService class, Changing the Catalog Class
test list, Implementing Add/Delete Review
updating CatalogServiceInterface, Updating DatabaseCatalogService
updating DatabaseCatalogService subclass, Changing the CatalogService Class
ASP.NET Web services, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service
data transformation, Data Transformation
database catalog service, Mapping the Relationships in the Assembler
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
Web service tests, Database Catalog Service
exposing failure conditions, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests
defining ExistingReviewException class, Programmer Tests
modifying Catalog.AddReview function, Programmer Tests
propagating exceptions, Programmer Tests
searching for an exception after second review, Driving Development with Customer Tests: Exposing a Failure Condition
SOAP faults, Programmer Tests
synchronizing with customer tests, Verifying Review Information, Reconciling Viewpoints, Track Duration
recording duration, Track Duration
track duration, Reconciling Viewpoints
Test case (NUnit), Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
transactions, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class
Catalog class, Programmer Tests: Catalog Class
TransactionManager class, Programmer Tests
user interfaces, Implementing a Web Client
progress bar (NUnit-Gui), Step 5. Compile and run your test.
projects, NUnit Primer, Step 3. Add a class to the project., Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test.
adding NumbersFixture class to, Step 3. Add a class to the project.
creating in NUnit, NUnit Primer
NUnit-Gui, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test.
layout, Step 5. Compile and run your test.
running tests, Step 5. Compile and run your test.
setup, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner.
Properties option (NUnit-Gui View menu), Step 6. Become familiar with the NUnit-Gui layout.
publications, Test-Driven Development Practices, Simple Design, Simple Design, Test List, Refactoring—By Example, Implementing the Search Page
Extreme Programming Explored, Test List
Extreme Programming Installed, Simple Design
Refactoring: Improving the Design of Existing Code, Simple Design, Refactoring—By Example
Test-Driven Development, Implementing the Search Page
Test-Driven Development: By Example, Test-Driven Development Practices
Push operation, Test List, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false., Test 8: Push a single object, remembering what it is; and then call Top. Verify that the object that is returned is equal to the one that was pushed.
multiple objects on Stacks, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 8: Push a single object, remembering what it is; and then call Top. Verify that the object that is returned is equal to the one that was pushed.
single objects on Stacks, Test 1: Create a Stack and verify that IsEmpty is true., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
PushOne method, Test 1: Create a Stack and verify that IsEmpty is true.
PushPopContentCheck method, Test 3: Push a single object, Pop the object, and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
PushPopMultipleElements method, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.

R

Recent Files option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
recording duration, synchronizing customer and programmer tests, Track Duration
Recording entity, testing database access layer, The Task, The Task, Separating the Tests
connecting to databases, The Task
defining typed DataSets, Separating the Tests
recording retrieval, customer tests, test scripts, Customer Tests
RecordingAssembler, Building an Assembler, Reconciling Viewpoints, The Problem
RecordingAssembler class, Building an Assembler, Reconciling Viewpoints, The Problem
WriteTrack method, Reconciling Viewpoints
RecordingAssemblerFixture, Building an Assembler
RecordingBuilder, Testing Relationships Between Entities
RecordingBuilder class, Testing Relationships Between Entities
RecordingDisplayAdapter, Implementing the Search Page
RecordingDisplayAdapter class, Implementing the Search Page
RecordingDto, Data Transformation, Data Transfer Object, Data Transfer Object, Recording.xsd, Building an Assembler, The Problem, The Problem, Implementing the Search Page
building assemblers, Building an Assembler
fields, Data Transfer Object
objects, CatalogService class, Implementing the Search Page
verifying title field, Recording.xsd
XML Schema, Data Transfer Object
RecordingFixture, Track-Recording Relationship
RecordingFixture class, Track-Recording Relationship
RecordingGateway, Integrating TransactionManager with the Tests and Application Code
RecordingGateway class, Integrating TransactionManager with the Tests and Application Code
RecordingGatewayFixture, Test 2: Push a single object on the Stack and verify that IsEmpty is false., Verifying Track Information, Reconciling Viewpoints, Add a review to an existing recording, Programmer Tests, Implementing a SOAP Fault, Programmer Tests, Transaction Manager, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Integrating TransactionManager with the Tests and Application Code, Refactoring the Catalog class, What’s Wrong?, What’s Wrong?, Creating the Page, Enough of This Stub, Automatic Transaction Management
ReviewAdapter, Add a review to an existing recording, Programmer Tests, Implementing a SOAP Fault
adding and deleting reviews, Add a review to an existing recording
ExistingReviewId method, Implementing a SOAP Fault
modifying to throw an exception, Programmer Tests
ReviewerFixture, Integrating TransactionManager with the Tests and Application Code
ReviewerGateway, Integrating TransactionManager with the Tests and Application Code
ReviewFixture, Integrating TransactionManager with the Tests and Application Code
ReviewGateway, Integrating TransactionManager with the Tests and Application Code
SearchPage.aspx.cs, Enough of This Stub
SearchPageHelper, Creating the Page
ServicedComponent, Automatic Transaction Management
SqlTransaction, Transaction Manager
StackFixture, Test 2: Push a single object on the Stack and verify that IsEmpty is false.
StubCatalogService, What’s Wrong?
StubCatalogServiceFixture, What’s Wrong?
TrackDisplay, Verifying Track Information
TrackDisplayAdapter, Reconciling Viewpoints
TrackFixture, Integrating TransactionManager with the Tests and Application Code
TrackGateway, Integrating TransactionManager with the Tests and Application Code
TransactionCheckCommand, Refactoring the Catalog class
TransactionManager, Programmer Tests
RecordingGatewayFixture class, Integrating TransactionManager with the Tests and Application Code
recordingId field, Creating the Page
recordings, Track-Recording Relationship, Driving Development with Customer Tests
adding reviews to, FIT script, Driving Development with Customer Tests
retrieving, testing database access layer, Track-Recording Relationship
recordings data model (media library application), Existing Database
recursive descent, Simple Design
Red (NUnit-Gui progress bar), Step 5. Compile and run your test.
Red/Green/Refactor, Test List, Choosing the First Test, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
creating empty Stacks, Choosing the First Test
pushing multiple objects on Stacks, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
pushing single objects on Stacks, Test 1: Create a Stack and verify that IsEmpty is true.
refactoring, Simple Design, Test List, Test List, Choosing the First Test, Choosing the First Test, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Refactoring—By Example, Refactoring—By Example, Refactoring—By Example, Refactoring—By Example, Refactoring—By Example, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works, Refactoring 0: Remove Unneeded Code, Refactoring 0: Remove Unneeded Code, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 2: Add a Test, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 3: Hide Method, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., We Can Do Some More..., We Can Do Some More..., We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects, Refactoring 16: Convert Procedural Design to Objects, Refactoring 16: Convert Procedural Design to Objects, ArtistFixture.cs, ArtistFixture.cs, Web Services Security, Web Services Security, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Refactoring the Catalog class, Refactoring the Catalog class, Service Layer Refactoring, Service Layer Refactoring
applications, Refactoring 16: Convert Procedural Design to Objects, Refactoring 16: Convert Procedural Design to Objects
Catalog class, Programmer Tests: Catalog Class, Programmer Tests: Catalog Class, Refactoring the Catalog class, Refactoring the Catalog class
CommandExecutor class, Refactoring the Catalog class
writing proxy classes, Refactoring the Catalog class
code, Web services, Web Services Security, Web Services Security
collapse loops, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope
cycle, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works
defined, Refactoring—By Example, Refactoring—By Example
Extract method, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method, Refactoring 5: Inline Method
Red/Green/Refactor, Test List, Test List, Choosing the First Test, Choosing the First Test, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
creating empty Stacks, Choosing the First Test
pushing multiple objects on Stacks, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal.
pushing single objects on Stacks, Test 1: Create a Stack and verify that IsEmpty is true.
reducing variable scope, We Can Do Some More..., We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code
removing unneeded code, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works
Rename method, Refactoring 0: Remove Unneeded Code, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method, Refactoring 5: Inline Method
replacing nested conditionals with guarded clauses, Refactoring 3: Hide Method, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More..., We Can Do Some More...
ServiceLayer, Service Layer Refactoring, Service Layer Refactoring
SetUp, ArtistFixture.cs, ArtistFixture.cs
Sieve of Eratosthenes, Refactoring—By Example, Refactoring—By Example, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects
adding tests, Refactoring 1: Rename Method
applying refactoring, Refactoring 16: Convert Procedural Design to Objects
collapse loops, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope
Extract method, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method
reducing variable scope, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
Rename method, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method
replacing nested conditionals with guard clauses, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More...
testing known good state, Before Refactoring the Code: Make Sure It All Works, Before Refactoring the Code: Make Sure It All Works
tests, Refactoring 1: Rename Method
Refactoring: Improving the Design of Existing Code, Simple Design, Refactoring—By Example
references, adding to NUnit nunit.framework.dll, Step 1. Create Visual Studio Project for your test code.
relationships, Entity Relationships, IdGeneratorFixture.cs, IdGeneratorFixture.cs, Testing Relationships Between Entities, Retrieve a Recording
entities, Entity Relationships, IdGeneratorFixture.cs, IdGeneratorFixture.cs, Testing Relationships Between Entities
Review and Reviewer entities, IdGeneratorFixture.cs
Track-Recording relationship, Testing Relationships Between Entities
testing database access layer, test organization, Retrieve a Recording
ReleaseDate method (CatalogAdapter class), Running the Script
Reload option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
removing, Before Refactoring the Code: Make Sure It All Works, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
code, refactoring, Before Refactoring the Code: Make Sure It All Works
dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
Rename method, refactoring, Refactoring 0: Remove Unneeded Code
rename variables, refactoring, Refactoring 5: Inline Method
repeater Web controls, binding search results, Implementing the Search Page
responsibility (tests), testing database access layer, Testing the Database Access Layer
RetrieveConnectionString method, A Small Improvement
retrieving recordings, Track-Recording Relationship, Customer Tests
customer tests, test scripts, Customer Tests
testing database access layer, Track-Recording Relationship
Review entity, Existing Database, IdGeneratorFixture.cs
media library application, Existing Database
testing relationship to Reviewer entity, IdGeneratorFixture.cs
ReviewAdapter, Add a review to an existing recording, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Implementing a SOAP Fault
adding and deleting reviews, Add a review to an existing recording
ExistingReviewId method, Driving Development with Customer Tests: Exposing a Failure Condition, Implementing a SOAP Fault
modifying to throw an exception, Programmer Tests
Reviewer entity, testing relationship to Review entity, IdGeneratorFixture.cs
ReviewerFixture class, Integrating TransactionManager with the Tests and Application Code
ReviewerGateway class, Integrating TransactionManager with the Tests and Application Code
ReviewFixture class, Integrating TransactionManager with the Tests and Application Code
ReviewGateway class, Integrating TransactionManager with the Tests and Application Code
ReviewReviewerFixture.cs, IdGeneratorFixture.cs
reviews, adding to recordings (FIT script), Driving Development with Customer Tests
RowFixture (FIT), Continuing with the Automation, Verifying Review Information
verifying review information, Verifying Review Information
verifying track information, Continuing with the Automation
RunATransaction method, Manual Transaction Management
runners (NUnit-Gui), Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test.
layout, Step 5. Compile and run your test.
running tests, Step 5. Compile and run your test.
setup, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner.

S

Save As option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
Save option (NUnit-Gui File menu), Step 6. Become familiar with the NUnit-Gui layout.
Save Results as XML option (NUnit-Gui Tools menu), Step 6. Become familiar with the NUnit-Gui layout.
scope, variables, reducing, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
Search method, CatalogService class, Implementing Search
Search page, Web clients, Testing User Interfaces, Implementing Search, Implementing the Search Page, Binding the Results to a Repeater Web Control, Creating the Page
binding search results with repeater Web controls, Implementing the Search Page
CatalogServiceGateway class implementation, Creating the Page
creating, Binding the Results to a Repeater Web Control
implementing search, Implementing Search
SearchButtonClick method, Creating the Page, Creating the Page
SearchPage.aspx.cs class, Enough of This Stub
SearchPageHelper class, Creating the Page
security, Web services, Web Service Producer, Web Services Security, Web Services Security
direct security context propagation, Web Services Security
mapped security contexts, Web Services Security
self-validating tests, Test case (NUnit), Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
Service Interface package, The Problem
ServicedComponent class, Automatic Transaction Management
ServiceLayer namespace, The Solution
ServiceLayer refactoring, Service Layer Refactoring
SetUp attribute, A Small Improvement, Assertions
SetUp method, ArtistFixture.cs, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
ArtistFixture.cs, ArtistFixture.cs
SetUp refactoring, ArtistFixture.cs
Sieve of Eratosthenes, Refactoring—By Example, Refactoring 0: Remove Unneeded Code, Refactoring 1: Rename Method, Refactoring 2: Add a Test, Refactoring 3: Hide Method, Refactoring 5: Inline Method, Refactoring 5: Inline Method, Refactoring 6: Rename Variable, Refactoring 6: Rename Variable, We Can Do Some More..., We Can Do Some More..., Refactoring 12: Remove Dead Code, Refactoring 12: Remove Dead Code, Refactoring 15: Reduce Local Variable Scope, Refactoring 15: Reduce Local Variable Scope, Refactoring 16: Convert Procedural Design to Objects
adding tests, Refactoring 1: Rename Method
applying refactoring, Refactoring 16: Convert Procedural Design to Objects
collapse loops, Refactoring 6: Rename Variable
converting procedural design to objects, Refactoring 15: Reduce Local Variable Scope
Extract method, Refactoring 12: Remove Dead Code
Hide method, Refactoring 2: Add a Test
inlining methods, Refactoring 5: Inline Method
reducing variable scope, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
removing dead code, Refactoring 6: Rename Variable, Refactoring 12: Remove Dead Code
Rename method, Refactoring 0: Remove Unneeded Code
rename variables, Refactoring 5: Inline Method
replacing nested conditionals with guard clauses, Refactoring 3: Hide Method
replacing temporary variables, We Can Do Some More...
simple design, Simple Design
SOAP (Simple Object Access Protocol), faults, Programmer Tests, Implementing a SOAP Fault, Implementing a SOAP Fault
ExistingReviewMapper class, Implementing a SOAP Fault
passing id of existing review to client, Implementing a SOAP Fault
SoapException, Detail property, Implementing a SOAP Fault
SqlConnection objects, The Task
SqlTransaction class, Transaction Manager
Stack.cs, Summary
StackFixture class, Test 2: Push a single object on the Stack and verify that IsEmpty is false.
StackFixture.cs, Choosing the First Test, Test 14: Push null onto the Stack, call Top, and verify that the value returned is null.
stacks, Test-Driven Development in .NET—By Example, Test-Driven Development in .NET—By Example, Test List, Choosing the First Test, Test 1: Create a Stack and verify that IsEmpty is true., Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false., Test 8: Push a single object, remembering what it is; and then call Top. Verify that the object that is returned is equal to the one that was pushed., Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top., Test 11: Call Top on a Stack that has no elements.
calling Top on, Test 9: Push multiple objects, remembering what they are; call Top, and verify that the last item pushed is equal to the one returned by Top.
creating, Test-Driven Development in .NET—By Example, Test List, Choosing the First Test
empty Stacks, Choosing the First Test
test list, Test List
popping, Test 5: Push three objects, remembering what they are; Pop each one, and verify that they are correct.
pushing multiple objects on, Test 4: Push a single object, remembering what it is; Pop the object, and verify that the two objects are equal., Test 8: Push a single object, remembering what it is; and then call Top. Verify that the object that is returned is equal to the one that was pushed.
pushing null on, Test 11: Call Top on a Stack that has no elements.
pushing single objects on, Test 1: Create a Stack and verify that IsEmpty is true., Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
unbounded, Test-Driven Development in .NET—By Example
Standard Error window (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
Standard Output window (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
start command (ActionFixture class), Connecting FIT to the Implementation
Status panel (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
StubCatalogService class, What’s Wrong?
StubCatalogService subclass (CatalogService class), Changing the CatalogService Class
StubCatalogServiceFixture class, What’s Wrong?
subclasses, CatalogService, Changing the CatalogService Class, Changing the CatalogService Class
DatabaseCatalogService, Changing the CatalogService Class
StubCatalogService, Changing the CatalogService Class
suites, Programmer Tests: Using TDD with ADO.NET, Implementing a Web Client, Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Test Case, Tests and Test Fixtures, Assertions
Test case (NUnit), Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
time, testing database access layer, Programmer Tests: Using TDD with ADO.NET
user interfaces, Implementing a Web Client
synthetic primary keys, Artist Gateway

T

Table Data Gateway, Artist Gateway
tasks, ASP.NET Web service programmer tests, Programmer Tests: Using TDD with ASP.NET Web Services
TDD (Test-Driven Development), Test-Driven Development Practices, Test Types, Simple Design, Simple Design, Simple Design, Test List, The Media Library Example
design, Simple Design
process, Simple Design, Test List
Red/Green/Refactor, Test List
test list, Simple Design
refactoring, Simple Design
tests, Test Types
TearDown attribute (NUnit), Assertions
TearDown method, ArtistFixture.cs, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
technology facing tests, Test Types, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service, Verifying Review Information, Reconciling Viewpoints, Track Duration, Add a review to an existing recording, Implementing Add/Delete Review, Implementing Add/Delete Review, Changing the Catalog Class, Changing the CatalogService Class, Updating DatabaseCatalogService, Updating CatalogServiceInterface, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class, Implementing a Web Client, Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
add review functionality, Add a review to an existing recording, Implementing Add/Delete Review, Implementing Add/Delete Review, Changing the Catalog Class, Changing the CatalogService Class, Updating DatabaseCatalogService, Updating CatalogServiceInterface
AddReviewAdapter modification, Updating CatalogServiceInterface
changing Catalog class, Implementing Add/Delete Review
changing CatalogService class, Changing the Catalog Class
test list, Implementing Add/Delete Review
updating CatalogServiceInterface, Updating DatabaseCatalogService
updating DatabaseCatalogService subclass, Changing the CatalogService Class
ASP.NET Web services, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service
data transformation, Data Transformation
database catalog service, Mapping the Relationships in the Assembler
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
Web service tests, Database Catalog Service
exposing failure conditions, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests
defining ExistingReviewException class, Programmer Tests
modifying Catalog.AddReview function, Programmer Tests
propagating exceptions, Programmer Tests
searching for an exception after second review, Driving Development with Customer Tests: Exposing a Failure Condition
SOAP faults, Programmer Tests
synchronizing with customer tests, Verifying Review Information, Reconciling Viewpoints, Track Duration
recording duration, Track Duration
track duration, Reconciling Viewpoints
Test case (NUnit), Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
transactions, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class
Catalog class, Programmer Tests: Catalog Class
TransactionManager class, Programmer Tests
user interfaces, Implementing a Web Client
Test case, Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
Test Cases panel (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
Test Not Run window (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
Test-Driven Development (TDD), Test-Driven Development Practices, Test Types, Simple Design, Simple Design, Simple Design, Test List, The Media Library Example
design, Simple Design
process, Simple Design, Test List
Red/Green/Refactor, Test List
test list, Simple Design
refactoring, Simple Design
tests, Test Types
Test-Driven Development: By Example, Test-Driven Development Practices
tests, Test Types, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Recording.xsd, Mapping the Relationships in the Assembler, Database Catalog Service, Database Catalog Service, Web Service Tests, Web Service Producer, Web Service Producer, Web Service Producer, Web Service Producer, Web Services Security, Implementing a SOAP Fault
AddSecondReview, Implementing a SOAP Fault
ASP.NET Web service programmer tests, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service, Web Service Tests, Web Service Producer, Web Service Producer, Web Service Producer, Web Services Security
CheckId test, Web Service Producer
consumer infrastructure, Web Service Producer
data transformation, Data Transformation
database catalog service, Mapping the Relationships in the Assembler
package structure, Web Services Security
producer infrastructure, Web Service Tests
security, Web Service Producer
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
Web service tests, Database Catalog Service
CheckId, Database Catalog Service, Web Service Producer
CheckTitle, verifying title field, Recording.xsd
Tests Run panel (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
TextFixtureSetUp attribute (NUnit), Using the Ignore Attribute
TextFixtureTearDown attribute (NUnit), Using the Ignore Attribute
Time panel (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout.
title field, verification, CheckTitle test, Recording.xsd
Tools menu (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Options option, Step 6. Become familiar with the NUnit-Gui layout.
Save Results as XML option, Step 6. Become familiar with the NUnit-Gui layout.
Top operation, Test List, Test 7: Push a single object and then call Top. Verify that IsEmpty returns false.
totalRunTime field, RecordingDto, Data Transfer Object, Mapping the Relationships in the Assembler
track duration, synchronizing customer and programmer tests, Reconciling Viewpoints
Track-Recording relationship, testing relationship between entities, Testing Relationships Between Entities
TrackAssemblerFixture, Building an Assembler
TrackDisplay class, Verifying Track Information
TrackDisplayAdapter class, Reconciling Viewpoints
TrackFixture class, Integrating TransactionManager with the Tests and Application Code
TrackGateway class, Integrating TransactionManager with the Tests and Application Code
trackId attribute, Entity Relationships
Transaction property, Automatic Transaction Management
TransactionCheckCommand class, Refactoring the Catalog class
TransactionManager class, Programmer Tests, Integrating TransactionManager with the Tests and Application Code
integration with tests, Integrating TransactionManager with the Tests and Application Code
TransactionOption.Required attribute, Automatic Transaction Management
transactions, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class, Transactions in ADO.NET, Transactions in ADO.NET, Transactions in ADO.NET, Automatic Transaction Management
ADO.NET, Transactions in ADO.NET, Transactions in ADO.NET, Transactions in ADO.NET, Automatic Transaction Management
automatic management, Transactions in ADO.NET
manual management, Transactions in ADO.NET
participation, Automatic Transaction Management
programmer tests, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class
Catalog class, Programmer Tests: Catalog Class
TransactionManager class, Programmer Tests
typed DataSets, defining for Recording database, Separating the Tests, Defining a Typed DataSet for the Recording Database, ArtistFixture.cs
Artist Gateway, Defining a Typed DataSet for the Recording Database
Genre Gateway, ArtistFixture.cs

U

unbounded Stacks, Test-Driven Development in .NET—By Example
unit tests, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service, Verifying Review Information, Reconciling Viewpoints, Track Duration, Add a review to an existing recording, Implementing Add/Delete Review, Implementing Add/Delete Review, Changing the Catalog Class, Changing the CatalogService Class, Updating DatabaseCatalogService, Updating CatalogServiceInterface, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class, Implementing a Web Client, Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
add review functionality, Add a review to an existing recording, Implementing Add/Delete Review, Implementing Add/Delete Review, Changing the Catalog Class, Changing the CatalogService Class, Updating DatabaseCatalogService, Updating CatalogServiceInterface
AddReviewAdapter modification, Updating CatalogServiceInterface
changing Catalog class, Implementing Add/Delete Review
changing CatalogService class, Changing the Catalog Class
test list, Implementing Add/Delete Review
updating CatalogServiceInterface, Updating DatabaseCatalogService
updating DatabaseCatalogService subclass, Changing the CatalogService Class
ASP.NET Web services, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service
data transformation, Data Transformation
database catalog service, Mapping the Relationships in the Assembler
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
Web service tests, Database Catalog Service
exposing failure conditions, Driving Development with Customer Tests: Exposing a Failure Condition, Driving Development with Customer Tests: Exposing a Failure Condition, Programmer Tests, Programmer Tests, Programmer Tests, Programmer Tests
defining ExistingReviewException class, Programmer Tests
modifying Catalog.AddReview function, Programmer Tests
propagating exceptions, Programmer Tests
searching for an exception after second review, Driving Development with Customer Tests: Exposing a Failure Condition
SOAP faults, Programmer Tests
synchronizing with customer tests, Verifying Review Information, Reconciling Viewpoints, Track Duration
recording duration, Track Duration
track duration, Reconciling Viewpoints
Test case (NUnit), Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
transactions, Programmer Tests, Programmer Tests, Programmer Tests: Catalog Class
Catalog class, Programmer Tests: Catalog Class
TransactionManager class, Programmer Tests
user interfaces, Implementing a Web Client
Update method (ArtistFixture.cs), ArtistFixture.cs
urn:schemas-microsoft-com:xml-msdata namespace, Defining a Typed DataSet for the Recording Database
urn:schemas-microsoft-com:xml-msprop namespace, Defining a Typed DataSet for the Recording Database
user interfaces, testing, Implementing a Web Client
utilities, testing database access layer, test organization, Test Organization

V

Validating (self) tests, Test case (NUnit), Step 6. Become familiar with the NUnit-Gui layout., Test Case, Test Case, Tests and Test Fixtures, Assertions
assertions, Assertions
test fixtures, Test Case
test runners, Tests and Test Fixtures
test suites, Test Case
variables, Refactoring 5: Inline Method, We Can Do Some More..., We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
rename, Refactoring 5: Inline Method
replacing temporary variables, We Can Do Some More...
scope, reducing, We Can Do Some More..., Refactoring 15: Reduce Local Variable Scope
View menu (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Collapse All option, Step 6. Become familiar with the NUnit-Gui layout.
Collapse Fixtures option, Step 6. Become familiar with the NUnit-Gui layout.
Collapse option, Step 6. Become familiar with the NUnit-Gui layout.
Expand All option, Step 6. Become familiar with the NUnit-Gui layout.
Expand Fixtures option, Step 6. Become familiar with the NUnit-Gui layout.
Expand option, Step 6. Become familiar with the NUnit-Gui layout.
Properties option, Step 6. Become familiar with the NUnit-Gui layout.
Visual Studio, Binding the Results to a Repeater Web Control, NUnit Primer, NUnit Primer, Step 1. Create Visual Studio Project for your test code., Step 3. Add a class to the project., Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test., Test Life-Cycle Contract, Test Life-Cycle Contract
creating Search page, Binding the Results to a Repeater Web Control
Nunit, NUnit Primer, NUnit Primer, Step 1. Create Visual Studio Project for your test code., Step 3. Add a class to the project., Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner., Step 5. Compile and run your test., Step 5. Compile and run your test., Test Life-Cycle Contract, Test Life-Cycle Contract
adding NumbersFixture class to projects, Step 3. Add a class to the project.
adding references to nunit.framework.dll, Step 1. Create Visual Studio Project for your test code.
creating projects, NUnit Primer
debugger, Test Life-Cycle Contract
layout, Step 5. Compile and run your test.
NUnit-Gui setup, Step 4. Set up your Visual Studio Project to use the NUnit-Gui test runner.
running tests, Step 5. Compile and run your test.

W

Wake, William, Test List
Web clients, Implementing a Web Client, Testing User Interfaces, Implementing Search, Implementing the Search Page, Binding the Results to a Repeater Web Control, Creating the Page
Search page, Testing User Interfaces, Implementing Search, Implementing the Search Page, Binding the Results to a Repeater Web Control, Creating the Page
binding search results with repeater Web controls, Implementing the Search Page
CatalogServiceGateway class, Creating the Page
creating, Binding the Results to a Repeater Web Control
implementing, Implementing Search
testing user interfaces, Implementing a Web Client
Web controls, repeater, binding search results, Implementing the Search Page
Web Reference Wizard (CatalogGateway proxy class), Web Service Producer
Web Services Description Language (WSDL), Data Transfer Object
Web services, ASP.NET, Entity Relationships, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service
media library application, Entity Relationships
programmer tests, Programmer Tests: Using TDD with ASP.NET Web Services, Programmer Tests: Using TDD with ASP.NET Web Services, Data Transformation, Mapping the Relationships in the Assembler, Database Catalog Service
data transformation, Data Transformation
database catalog service, Mapping the Relationships in the Assembler
tasks, Programmer Tests: Using TDD with ASP.NET Web Services
Web service tests, Database Catalog Service
windows (NUnit-Gui), Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout., Step 6. Become familiar with the NUnit-Gui layout.
Errors and Failures, Step 6. Become familiar with the NUnit-Gui layout.
Standard Error, Step 6. Become familiar with the NUnit-Gui layout.
Standard Output, Step 6. Become familiar with the NUnit-Gui layout.
Test Not Run, Step 6. Become familiar with the NUnit-Gui layout.
wizards, Web Service Producer
WriteDto method, Building an Assembler
WriteTotalRunTime method, Mapping the Relationships in the Assembler
WriteTrack method, Building an Assembler, Reconciling Viewpoints
WSDL (Web Services Description Language), Data Transfer Object

X

XML Schema, RecordingDto, Data Transfer Object
XSD (eXtensible Schema Definition) schema file, Defining a Typed DataSet for the Recording Database

Y

Yellow (NUnit-Gui progress bar), Step 5. Compile and run your test.

Z

ZeroOne test, refactoring, Refactoring 1: Rename Method
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset