
Tasks
=====

* Sort out naming & coding convention and write up in tree.

* Test exceptions being raised from make and clean

* More docs.

Questions
=========

* Why does finishedWith take a parameter? Why not use
  TestResource._currentResource?

* How should resources be composed? (Partially answered).

* How can testresources be used with layers?

* How can testresources be used to *replace* layers?


Bugs
====



Ideas
=====

* Have a dumb equivalent of OptimisingTestSuite that doesn't do any sorting.
  Rely on others to do the sorting first.

* Introduce timing hooks for better estimation of setUpCost and tearDownCost.

* Store timing information so that cost estimations can improve over time.

* Change the interface of TestResource so that make and clean are methods on
  some *other* object, rather than methods to be overridden. This object could
  well have the interface .setUp() and .tearDown()!

* Move ResourcedTestCase.setUpResources and tearDownResources to be methods.

* Change ResourcedTestCase.resources to a dict (currently a list of 2-tuples).

* There are now many simple test helpers. These can probably be consolidated.

* 'TestResource' isn't a very good name. Since the switch to instance-based
  resources, it's even worse, since the objects are more like resource
  factories or resource managers. Other possible names involve 'asset',
  'liability' or 'fixture'.
