{"action":"created","issue":{"url":"https://api.github.com/repos/actor-framework/actor-framework/issues/160","labels_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/160/labels{/name}","comments_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/160/comments","events_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/160/events","html_url":"https://github.com/actor-framework/actor-framework/issues/160","id":39140624,"number":160,"title":"Improve Unit Tests","user":{"login":"Neverlord","id":651128,"avatar_url":"https://avatars.githubusercontent.com/u/651128?v=3","gravatar_id":"","url":"https://api.github.com/users/Neverlord","html_url":"https://github.com/Neverlord","followers_url":"https://api.github.com/users/Neverlord/followers","following_url":"https://api.github.com/users/Neverlord/following{/other_user}","gists_url":"https://api.github.com/users/Neverlord/gists{/gist_id}","starred_url":"https://api.github.com/users/Neverlord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neverlord/subscriptions","organizations_url":"https://api.github.com/users/Neverlord/orgs","repos_url":"https://api.github.com/users/Neverlord/repos","events_url":"https://api.github.com/users/Neverlord/events{/privacy}","received_events_url":"https://api.github.com/users/Neverlord/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/actor-framework/actor-framework/labels/improvement","name":"improvement","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"mavam","id":53797,"avatar_url":"https://avatars.githubusercontent.com/u/53797?v=3","gravatar_id":"","url":"https://api.github.com/users/mavam","html_url":"https://github.com/mavam","followers_url":"https://api.github.com/users/mavam/followers","following_url":"https://api.github.com/users/mavam/following{/other_user}","gists_url":"https://api.github.com/users/mavam/gists{/gist_id}","starred_url":"https://api.github.com/users/mavam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavam/subscriptions","organizations_url":"https://api.github.com/users/mavam/orgs","repos_url":"https://api.github.com/users/mavam/repos","events_url":"https://api.github.com/users/mavam/events{/privacy}","received_events_url":"https://api.github.com/users/mavam/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2014-07-30T21:45:52Z","updated_at":"2015-02-10T16:29:10Z","closed_at":null,"body":"The unit tests in CAF could really use some cleanup and a more fine-grained structure. Several tests in fact check multiple things instead of only test one particular feature. @mavam will probably donate his powerful unit testing framework from [VAST](https://github.com/mavam/vast), which would be a huge step in the right direction."},"comment":{"url":"https://api.github.com/repos/actor-framework/actor-framework/issues/comments/73731131","html_url":"https://github.com/actor-framework/actor-framework/issues/160#issuecomment-73731131","issue_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/160","id":73731131,"user":{"login":"Neverlord","id":651128,"avatar_url":"https://avatars.githubusercontent.com/u/651128?v=3","gravatar_id":"","url":"https://api.github.com/users/Neverlord","html_url":"https://github.com/Neverlord","followers_url":"https://api.github.com/users/Neverlord/followers","following_url":"https://api.github.com/users/Neverlord/following{/other_user}","gists_url":"https://api.github.com/users/Neverlord/gists{/gist_id}","starred_url":"https://api.github.com/users/Neverlord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neverlord/subscriptions","organizations_url":"https://api.github.com/users/Neverlord/orgs","repos_url":"https://api.github.com/users/Neverlord/repos","events_url":"https://api.github.com/users/Neverlord/events{/privacy}","received_events_url":"https://api.github.com/users/Neverlord/received_events","type":"User","site_admin":false},"created_at":"2015-02-10T16:29:10Z","updated_at":"2015-02-10T16:29:10Z","body":"The testing framework violates the CAF style guide:\r\n\r\n- please rename the \"framework\" to `libcaf_test`\r\n- unit tests include `caf/test/unit_test.hpp`, not `framework/unit.hpp`\r\n-  `namespace unit {` => `namespace caf { namespace test {`\r\n- members use `m_` prefix instead of `_` suffix\r\n- doxygen blocks use `/** ... */`  instead of `///`\r\n\r\nWe also need \"API compatibility\" to the boost testing framework for Boost.Actor (i.e. patching one using find/replace operations only to get the other). I noticed at least one incompatibility: Boost defines `BOOST_TEST_MODULE Hello` *before*  including the header rather than placing something like `CAF_SUITE(\"Hello\")` before the first test case (I don't mind if you support both).\r\n\r\nWhy no `CAF_CHECK_EQUAL`? That's actually the most used macro and produces better output than `CAF_CHECK`.\r\n\r\nOnce it actually uses the CAF coding style (as opposed to the VAST coding style :wink:), we can start porting the unit tests, restructure the libraries (`src` for source files, `caf` and its subdirectories for headers, and `test` for the unit tests) and tweak the CMake setup."}}