NemerleUnit
From Nemerle Homepage
NemerleUnit is a domain specific language for writing NUnit tests. Tests are transformed to NUnit equivalent on compilation. Use NUnit runner to run them.
NemerleUnit does not work with version 0.9.3 of Nemerle. You need nemerle compiler from at least 7071th revision. That means you need to build yourself a compiler from the sources.
Contents |
Example
#pragma indent using NemerleUnit setup def abc = ["a","b","c"] teardown () // you could dispose here test "length of an empty list" assert [].Length equals 0 test "length of a three element list" assert abc.Length equals 3 test "equals" assert abc equals ["a","b","c"] assert abc does not equal ["c","b","a"] test "contains" assert abc.Contains("a") assert abc.Contains("b") assert abc.Contains("c")
http://nemerle.org/svn/nemerle/trunk/tools/nemerle-unit/src/tests/assertions.n
Use
To compile tests you need to link both NUnit.Framework.dll and NemerleUnit.dll (in -ref param).
ncc -r NUnit.Framework.dll -r NemerleUnit.dll -t library -o tests.dll example.n
After compilation you can run them with any NUnit compatible runner.
Yes, spaces in method names! :)
Once I have had some nasty problems with compiling tests because I had Nemerle.dll in the local folder; be aware.
Macros
The implementation is done using macros. To compile them you need NUnit.Framework.dll, NUnit.core.dll and Nemerle.Compiler.dll.
http://nemerle.org/svn/nemerle/trunk/tools/nemerle-unit/src/macros/macros.n
Sources are kept in nemerle svn repository under http://nemerle.org/svn/nemerle/trunk/tools/nemerle-unit
Contact
The author of NemerleUnit is Kamil Dworakowski. Any feedback is welcome.