On Tue, 10 Oct 2000, Glen Stampoultzis wrote:

> You could run everything in the one process and use mock objects to simular
> the transport layer.  This would give you finer control over your testing.
> 
> http://www.connextra.com/site/all_about_us/xp/mockobjects.pdf

Thank you.  I have had a look at this, and it looks good.  I think a
fair summary of it is:  "If your software must interact with some 
other software system, then implement the minimal mock-up of the interface
for that system which allows you to test your code.  This allows you
to test failures of that system, for example,  because you can make it
fail when you want, etc".

The one bit of that article I did not find clear was the bit about
passing the interface around, in section 4.3: "Instead we write a handler
object to reify this dialogue between a stream and a Person".  I've never
needed the word "reify" before(!), but I think the idea of "making this
abstract interface into a concrete object" would be useful in my other
recent question, about treating strings as if they were streams.  Suppose
I had some kind of interface object that didn't care whether there was a
string or a stream on one side of it. Then I think this article is saying
that I would use an instance of such an object, whose creation involved
tying it to a string or to a stream, to do the I/O for me.

Have I got that about right?  Has anyone a simple example of such 
an interface object in Ruby I could look at, please, so I can see
how it works and some of the power it provides?  
> 
> Regards,
> 
>     Glen
> 
	Thank you,
	Hugh
	hgs / dmu.ac.uk