numenta/nupic.core — pull request #150 by utensil (2014-07-09 04:52:48+00:00)
Title: Port Networks tests to Catch and document how to

This PR is to track the work on #10 , using the Catch test framework . Replaces #145 based on merged #147.

Catch stands for C++ Automated Test Cases in Headers, is a modern, C++-native, header-only, framework for unit-tests, TDD and BDD, see https://github.com/philsquared/Catch .

Catch:

* is header-only, thus little hassle to add it to `nupic.core`, unlike gtest
* provides all gtest functionalities including JUnit-style xml output as needed by #10
* provides [BDD-style assertion macros](https://github.com/philsquared/Catch/blob/master/docs/tutorial.md#bdd-style), which is tempting to me who was influenced by ruby's [cucumber](https://github.com/cucumber/cucumber)

This PR intends to complete the following tasks:

- Essential:
* [x] make catch generate xUnit style reports as the original #10 requests
* [ ] porting original tests of class `Network` in `testeverything`
* [ ] decide a goal name for unit test, for now I'm using `tests_unit`
* [ ] document how to port the tests based on [catch's tutorial about BDD-style assertion macros](https://github.com/philsquared/Catch/blob/master/docs/tutorial.md#bdd-style) , so @rhyolight can create a series of newbie tasks as discussed [here](https://github.com/numenta/nupic.core/pull/145#issuecomment-48188115)
- Nice to have:
* [ ] make test cases not built for `nupic.core` release and `nupic` pip package, which would prevent unnecessary dependencies on gtest binaries, as originanlly discussed at https://github.com/numenta/nupic.core/issues/10#issuecomment-47560471

This PR is not ready to merge yet.