Skip to main content

William C. Wake

William C. Wake is an independent software consultant, coach, and trainer. His interests include agile methods, impossible objects, and games and simulations for teaching. He's been using Java since 1.0.2. Bill is the author of the 'Refactoring Workbook' and 'Extreme Programming Explored.' His web home is at


wwake's blog

Fit code, part 6 - TypeAdapter

Posted by wwake on June 14, 2005 at 7:38 PM PDT

C# Fit

I've gotten some mail letting me know that the C# Fit has forked a bit - there's a newer version that's the regular Fit distribution, and an older/modified version that's part of Fitnesse. I was having trouble extending the Fitnesse version.

One-button games

Posted by wwake on June 13, 2005 at 6:02 AM PDT

I love when somebody just digs in and shows the possibilities. Berbank Green has an article at gamasutra showing what you can do with just one button:

Just think of the possibilites if you have two buttons! :)

Fit code, part 5 - ActionFixture

Posted by wwake on June 13, 2005 at 5:47 AM PDT

Wow - this one is a lot cleaner than I expected. I had tried overriding the C# version and had all kinds of grief. This version is straightforward and extensible.


The class has three fields:

  • cells - a Parse
  • actor - a Fixture
  • empty - an array of Class

Cells holds the list of cells for this row.

Fit code, part 4 - Fixture

Posted by wwake on June 3, 2005 at 2:02 PM PDT

Fixture: Fields and Two Helper Classes

There's a Map summary that accumulates things like the "run date." I don't know why the top-level Fixture has this, but it does. The fixture fit.Summary walks through this table and gives summary statistics.

There's a field counts that has counts of tests passed, failed, and exceptions/errors.

Fit code, part 3 - Parse and Fixture

Posted by wwake on June 2, 2005 at 7:32 AM PDT


First I want to chase down a couple oddities in what I saw last time.

Fit code, part 2

Posted by wwake on June 1, 2005 at 6:24 AM PDT

Inside Parse

I spent last time on tests only - this time I want to go inside the Parse class.

The top of the class reveals strings for leader, tag, body, end, and trailer, as expected. There are also parts and more, which are Parses.

Fit Reading (1 of n)

Posted by wwake on May 30, 2005 at 7:33 AM PDT

"Fit" is Ward Cunningham's "Framework for Integrated Tests". You can pick up a copy by starting from

I've used it for a while, and looked at some of its code along the way, but hadn't sat down and really studied it systematically. My plan is to spend an hour at a time, just digging in to what I find and sharing my notes.


XP Explained, 2/e

Posted by wwake on March 1, 2005 at 5:16 AM PST

[Trimmed and crossposted from XPlorations]

I don't think the new edition of Extreme Programming Explained has
had as much exposure as it deserves. I've summarized its key points,
and added a bit of review.

Anonymous subclass with instance initializer

Posted by wwake on February 21, 2005 at 7:26 AM PST

In JUnit Recipes, JB Rainsberger points out this idiom:

static final Set s = new HashSet() {{




Kent Beck's "Programming Intensive" Workshop

Posted by wwake on February 7, 2005 at 7:48 PM PST

Kent Beck's workshop was a chance to spend a few days programming and thinking about programming.

We used "games" as the vehicle. That worked well enough - you can get the feel of a game without having to develop it all the way out. In the evenings, we were on our own to do some writing and exercises in thinking about software.