Poetry Magnets: Second Verse Charlie Poole 11/11/2005
In this second article of the series, we find that we need another object and do a bit of refactoring. In spite of a number of changes from our initial approach, the tests continue to pass with little difficulty.

Poetry Magnets: First Verse Charlie Poole 11/11/2005
This is the first article of a series on simulating magnetic poetry on a refrigerator. The magnets have words on them and people arrange them into messages or poems. Considering all the ways the magnets might be positioned, it seems as if we need a complex algorithm to start with. Or do we?

Extending NUnit: Beyond Assert Charlie Poole 01/04/2005
NUnit Assert provides the building blocks you need to create meaningful tests for your application. The new Assert extensibility mechanism allows you to add your own assertions that work along side those that are built into NUnit.

C# Wizardry: Code Generation With Class Charlie Poole 09/28/2002
In the final article of this series, we finally do what we set out to do. The wizard generates code tailored to a specific class in the solution selected by the user. But was it worth it?

C# Wizardry: A Real Wizard Charlie Poole 09/27/2002
In the second article of this series, the wizard actually does what wizards are supposed to do... generate code. There's also a user input form that sets some options for the code...

C# Wizardry: Getting Started Charlie Poole 09/25/2002
In this first article of a series on writing a test fixture generation wizard for Visual Studio, I describe the framework of a wizard and how it is called. Even though my first cut at a wizard does nothing but display the parameters passed to it, there were a lot of obstacles to overcome in getting there...

Project Turnaround: XP to the Rescue? Charlie Poole 03/26/2002
In this experience paper prepared for a workshop at XP2002, I try to draw some lessons from a rather mixed experience with XP on a certain project. We turned the project around, but was that enough?

Test First Challenge: Table Model Charlie Poole January, 2002
In this last article - at least for a while - we adapt the design to a 2-D table model which may or may not help when we come to doing a GUI front end...

Test First Challenge: Cell References Charlie Poole January, 2002
This new installment adds cell references to the formulas we evaluate. But that introduces the problem of circular references...

Test First Challenge: Refactoring the Formula Parser Charlie Poole January, 2002
After so much code being added, some refactoring was called for, so I did it. A lot of change was involved. Was it worth it?

Test First Challenge: Basic Formulas Charlie Poole January, 2002
In this second article in the series, we develop the ability to parse simple constant expressions. I changed things several times as I was developing the parser, so this part is in four different installments.

Test First Challenge: Getting Started Charlie Poole January, 2002
In January 2002, Bill Wake issued a Test-first Challenge as a way to encourage the practice test-first development. I participated. Bill provided a set of tests that drive the development of a simple spreadsheet. This first article describes the tests and code for storing and retrieving the raw contents of cells...