I am beginning to get a feel for this, but I still have a few more
questions.  Looking in the sample directory I still cannot understand
how the TestFailure, TestResult and TestSuite classes are to be used.
Can anyone explain when and how one should use these?  I think they
are for compiling stats on a testing session.

Also looking at the definition of RUNIT::Testcase I see:
module RUNIT
  class TestCase
    include Test
    include Assert
    include Observable
     [...]

    def TestCase.suite
      TestSuite.new(self)
    end
  end
end

def TestCase.suite looks like the definition of a singleton method, but it
is not because it is not defining a method of a particular instance. What
is this? I'm pretty sure I have seen it before.  I know that the testsuite
examples relay on this existing, because tests are run on something.suite,
and the only .suite is the on inherited from TestCase. This suite method
just looks like a constructor, so I am not sure why it is being used.  
This would seem to underpin my other questions, above, really.

	Thank you,
	Hugh
	hgs / dmu.ac.uk