As I wrote previously, I'm working on coordinating the NUnit and
NUnitLite codebases. Currently, they are as close as possible
in terms of common files. The only difference in many cases
is the license text and the presence in NUnitLite of conditional
code for version 1.0 of the compact framework.
However, recent developments in NUnit 2.5 have added a number
of new features. It seems to me that most of these features have
a place in NUnitLite as well. I'm listing them here for your
comment. Please let me know if you agree/disagree, whether you
think the feature should be conditional, etc. It's possible
that we could support multiple build levels for those who
are working on minimal platforms.
New Features in NUnit 2.5
Constraints
* Delayed assert with After(int delay) syntax. One form
uses properties of a passed in object, another uses
a delegate and a third uses a variable passed by reference.
* Attribute constraint - tests for presence of an attribute
on a type with optional tests on property values
* DirectoryConstraints - tests for equality of two directories,
existence, empty, subdirectory.
* PathConstraints - tests for equivalence of two paths or one
path being under another (paths may exist or not)
* RangeConstraint - test that a value falls in a range
* SerializableConstraints - test whether an object is
serializable using binary or xml format
* ThrowsConstraint - tests that an exception is thrown by
a delegate and makes further tests on that exception
Assert:
* Assert.Pass and Assert.Inconclusive
* Assert.That now has a form that takes a delegate
* Assert.Throws provides an alternative way of using the
Throws constraint. It's particular advantage is that
it returns the exception so further adhoc tests may
be made.
My own inclination is to include all of these. Do you
see any exceptions based on technology or need?
Charlie