... Split-Merge on www.verypdf.com to remove this watermark.
ptg
Your purchase of
Growing Object-Oriented Software, Guided by Tests
includes access
to a free online edition for 45 days through the ... Pryce took the ideas and implemented them in
Ruby. He exploited Ruby’s reflection to write expectations directly into the test
as blocks. Influenced by his PhD work on protocols between...
... incrementally, by adding features and repeatedly following heuristics.
Although we rely on our experience to guide our decisions, we reached this
solution almost automatically by just following ... runtime exception when it tries to parse the
message. The Smack library drops exceptions thrown by
MessageHandler
s,
so we have to make sure that our handler catches everything. As we write...
... the automatic
documentation for a
KeyboardLayout
class.
Figure 21.1 The TestDox IntelliJ plug-in
Regularly Read Documentation Generated from Tests
We find that such generated documentation gives ... want to make sure the
tests pull their weight by making them expressive, so that we
can tell what’s important when we read them and when they
fail, and by making sure they don’t become a main...
... waiting on
traceLock
to wake
up because there’s been a change. This is called by the test infrastructure
when triggered by an event in the system.
3
The
containsNotification()
method, called from ... with the system it is testing.
There are two ways a test can observe the system: by sampling its observable
state or by listening for events that it sends out. Of these, sampling is o...
... development. Growing
Object-Oriented Software, Guided by Tests, presents a coherent, consistent system
of development, where different techniques support each other.
I invite you to read Growing Object-Oriented ... remove this watermark.
ptg
Praise for Growing Object-Oriented Software, Guided by Tests
“The authors of this book have led a revolution in the craft of prog...
... Classes?
One last point. Unusually for a book on object-oriented software, we haven’t
said much about classes and inheritance. It should be obvious by now that we’ve
been pushing the application ... watermark.
ptg
Many object-oriented languages support encapsulation by providing control over
the visibility of an object’s features to other objects, but that’s not enough. Objects
can...
... items:
• Single item: join, bid, and lose. When a price comes in, send a bid raised
by the minimum increment defined by the auction. This amount will be
included in the price update information.
• ... repeatedly. We can also help ourselves cope with total
system complexity by keeping the quality of its components high and by constantly
pushing to simplify. If that sounds expensive, con...
... and text alignment, to tune
the user interface. We might do that by associating
CellRenderer
s with each
Column
value, or perhaps by introducing a
TableColumnModel
. We’ll leave those
as an exercise ... better job by extracting
an inner class,
AuctionEvent
, to encapsulate the unpacking of the message con-
tents. We have confidence that we can refactor the class safely because it’s
p...
... 117, 332
Index
354
From the Library of Lee Bogdanoff
ptg
Your purchase of
Growing Object-Oriented Software, Guided by Tests
includes access
to a free online edition for 45 days through the ... 278
SniperStateDisplayer
class, 133, 147, 155,
167–168
sniperWinning()
, 143, 162–163
sniperWinsAnAuctionByBiddingHigher()
,
139
sniperWon()
, 147, 164
Spring, 294
startBiddingFor()
, 184
s...
... development. Growing
Object-Oriented Software, Guided by Tests, presents a coherent, consistent system
of development, where different techniques support each other.
I invite you to read Growing Object-Oriented ... necessary to resolve this dilemma. More than a shift in
techniques is needed.
Growing Object-Oriented Software, Guided by Tests presents such a new per-
spe...