SpartanUnit of OpenHopla

SpartanUnit is Dedicated to the Free, Creative
Software Developer
Test what is useful and develop from there.

Introduction

A man of genius makes no mistakes. His errors are volitional and are the portals of discovery.
James Joyce
Episode 9
Ulysses
 

SpartanUnit is either an ingenious implementation of xUnit—the family name of many popular test frameworks—or yet another errant implementation of the ingenious pattern of Kent Beck. In any event, SpartanUnit is not simply yet another hackneyed interpretation of a worn-out tune. Composed first in C#, SpartanUnit is an open source, microkernel-like implementation of a clever little program whose beauty blossoms in the tests of the user.

Part One of the Ingenious Implementation of xUnit

or Part One of an Implementation of the Ingenious xUnit

SpartanUnitClassDependencies.PNG

Then Don Quixote determined to find some money, and by selling one thing, and pawning another, and undervaluing everything, he managed to put together a reasonable sum. He also acquired a round shield...
Miguel de Cervantes Saavedra
Regarding the second sally of our good knight Don Quixote of La Mancha
Don Quixote
Translated by Edith Grossman
 

Prólogo

What's past is prologue.
William Shakespeare
The Tempest
 


Desocupado developer: Without my swearing to it, you can believe that I would like this program, the child of my misunderstanding, to be the most beautiful, the most brilliant, and the most discreet that anyone could imagine. Free from deadlines, defects, intellectual property contracts; escaping the perverting effects of competition, the punishment of rewards, and various other factors that favor potboilers and attract hacks, SpartanUnit has permitted this knight errant to pursue quality for her own sake, not to mention a fool-hardy feeling of mastery over a shield that might not protect those who tilt at windmills, for goodness’ sake! Indeed, tranquility, a peaceful place, the pleasant countryside, serene skies, murmering fountains, a calm spirit, are a great motivation for the most barren muses to prove themselves fertile and produce offspring that fill the world with wonder and joy. A father may have a child who is ugly and lacking in all the graces, and the love he feels for her puts a blindfold over his eyes so that he does not see her defects but considers them signs of charm and intelligence and recounts them to his friends as if they were clever and witty. But though I seem to be the father, I am the stepfather of SpartanUnit, and I do not wish to go along with the common custom and implore you, almost with tears in my eyes, as others do, dearest developer, to forgive or forget or ignore the faults you may find in this my child, for you are neither her kin nor her friend, and you have a soul in your body and a will as free as anyone’s, and you are in your own world, where you are lord, as the sovereign is master of his revenues, and you know the old saying: under cover of my cloak I can kill the king.

Chapter 1

SpartanUnit is Born

Whether I shall turn out to be the hero of my own life, or whether that station will be held by anybody else, these pages must show.
Charles Dickens
Chapter 1, I am Born
David Copperfield
 

On 30 November 2011 SpartanUnit twinkled in my eye. Eager and impatient to begin practicing test-driven development (an approach to coding I had learned about earlier that day during an Advanced Object Oriented Design class taught at Intel by Bob Koss whereby one writes a failing test case before writing the code to make the test pass), I opened Visual Studio and keys began clicking. Within an hour I had given birth to my first test tool.

Chapter 2

And here is a sign for you

you will find a baby wrapped in swaddling clothes and lying in a manger.
Luke 2:12
The New Jerusalem Bible
 

On 9 January 2012 I received an email from my friend and former professor, Dr. Aditya Mathur, author of Introduction to Microprocessors (1990) and Foundations of Software Testing (2008), asking if I would like to and could recommend a term project for two students registered with him in an independent study class on Software Testing at Purdue. Dr. Mathur explained that he took these students as they needed the course to graduate with a specialization in Software Engineering. I realized that Dr. Mathur’s problem was the perfect opportunity to, with the help of a few students, spend more time nurturing my Best Beloved at the feet of a master of microprocessors and software testing who, by the way, is also passionate about parallel programming!

Chapter 3

Among the Doctors of the Law

Traditionally, writers have been suspicious of any arrangement which links the artist wtih the establishment or renders him as something less than a free agent in society.
Stephen Wilbers
The Workshop Experience, page 125
The Iowa Writers' Workshop: Origins, Emergence, & Growth
 

The legal problem I faced, after getting permission from my manager to sponsor the project on behalf of Intel, was how to safely collaborate with students at Purdue on the development of software I created while employed by Intel. Using Intel’s open source approval process, I received permission to release OpenHopla in C#, a new open source project hosted on CodePlex.

Chapter 4

Début at Purdue

Past Tecumseh's Trail, past the islands, past Cedar Hollow, we float; and when we make a landing at the Big Sprint, the sun has long since sunk behind the hills that border the River Road, the cool evening breezes from teh hollows ripple the surface of the river, the stars are coming out, the lights of LaFayette twinkle in the distance.
Bruce Rogers
A Commonplace Trip 1892
Pi: A Hodge-Podge of Letters, Papers, Addresses, written during a period of 60 years
 

I introduced SpartanUnit to Dr. Mathur and his students on 20 February 2012, by which time I had spent many hours pondering and polishing the design and implementation of my Best Beloved. SpartanUnit was coming of age, transitioning from an awkward seedwork (a term Martin Fowler uses to label programs with “some minimal functionality that you modify however you like to get what you need”) to a mature framework.

On 25 April 2012, Aditya delivered the following final report:

Chapter 5

Herecy

It seems to me that SpartanUnit is not only a tool for but also a case against orthodox test driven development.
JohnPSpurgeon
Changeset 13631
 

Like deferring the joy of commenting until code is sufficiently settled, sometimes deferring developing automated tests can save time and effort that might otherwise be wasted by rework. Better judiciously late and sparce than recklessly absent forever.

Second Part of the Ingenious Implementation of xUnit

By JohnPSpurgeon, Author of the First Part

SpartanUnitClassDiagrams.PNG



And now, having spoken of the men born of the pilot's craft, I shall say something about the tool with which they work—the airplane. Have you looked at a modern airplane? Have you followed from year to year the evolution of its lines? Have you ever thought, not only about the airplane but about whatever man builds, that all of man's industrial efforts, all his computations and calculations, all the nights spent over working draughts and blueprints, invariably culminate in the production of a thing whose sole and guiding principle is the ultimate principle of simplicity?
It is as if there were a natural law which ordained that to achieve this end, to refine the curve of a piece of furniture, or a ship's keel, or the fuselage of an airplane, until gradually it partakes of the elementary purity of the curve of a human breast or shoulder, there must be the experimentation of several generations of craftsmen. In anything at all, perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away, when a body has been stripped down to its nakedness.
Antoine de Saint-Exupéry
the first two paragraphs of chapter three
Wind, Sand and Stars
Translated by Lewis Galantière’
 

To the Count of the Conference

Hi-yo, Silver! Away!
The Lone Ranger
 

Some days ago, when I sent your Excellency my software, presumptuously tested before it was coded, I said, if I remember correctly, that SpartanUnit had her spurs ready to make the journey to kiss Your Excellency’s hands, and now I say that she is wearing them, and is on her way, and if she arrives, it seems to me I will have performed a service for Your Excellency, because I have been urged on every side to send her forth in order to alleviate the loathing and disgust caused by advisors who travel the world with lightweight silver bullets, and, although the Chinese Empress of my own house shows no interest in her whatsoever, the person who has shown the deepest interest has been a great Emperor in Indiana who, not more than a month ago, sent an email containing a letter for me in the English language, asking, I should not say begging, me to send a link so he may reference her in the second edition of his testing book.

Last edited May 11, 2012 at 12:16 AM by JohnPSpurgeon, version 119

Comments

No comments yet.