{"action":"created","issue":{"url":"https://api.github.com/repos/zoonproject/zoon/issues/159","labels_url":"https://api.github.com/repos/zoonproject/zoon/issues/159/labels{/name}","comments_url":"https://api.github.com/repos/zoonproject/zoon/issues/159/comments","events_url":"https://api.github.com/repos/zoonproject/zoon/issues/159/events","html_url":"https://github.com/zoonproject/zoon/issues/159","id":106524742,"number":159,"title":"Tests for modules","user":{"login":"goldingn","id":4450731,"avatar_url":"https://avatars.githubusercontent.com/u/4450731?v=3","gravatar_id":"","url":"https://api.github.com/users/goldingn","html_url":"https://github.com/goldingn","followers_url":"https://api.github.com/users/goldingn/followers","following_url":"https://api.github.com/users/goldingn/following{/other_user}","gists_url":"https://api.github.com/users/goldingn/gists{/gist_id}","starred_url":"https://api.github.com/users/goldingn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/goldingn/subscriptions","organizations_url":"https://api.github.com/users/goldingn/orgs","repos_url":"https://api.github.com/users/goldingn/repos","events_url":"https://api.github.com/users/goldingn/events{/privacy}","received_events_url":"https://api.github.com/users/goldingn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zoonproject/zoon/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/zoonproject/zoon/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-15T10:10:45Z","updated_at":"2015-09-15T10:51:16Z","closed_at":null,"body":"To spot silly module bugs, help others to write modules, and facilitate uploading to a community module repo we need to define tests to enforce the module I/O rules.\r\n\r\nThese should:\r\n\r\n* Check the module has all of the required arguments for it's module type\r\n* Check the module returns an object of the correct structure, and with elements matching required structure (down to dataframe column class checking, RasterLayer projection checking) \r\n* Check that the module survives a range of standard workflows representing different use cases (chains, lists, cross validation etc.)\r\n* be incorporated into a `CheckModule` function which is both visible to module developers and used in the community repo etc.\r\n\r\nI think this will be crucial for getting `zoon` ready for wider use. What do you guys think of this - anything else we should test?\r\n\r\n "},"comment":{"url":"https://api.github.com/repos/zoonproject/zoon/issues/comments/140351336","html_url":"https://github.com/zoonproject/zoon/issues/159#issuecomment-140351336","issue_url":"https://api.github.com/repos/zoonproject/zoon/issues/159","id":140351336,"user":{"login":"timcdlucas","id":3583796,"avatar_url":"https://avatars.githubusercontent.com/u/3583796?v=3","gravatar_id":"","url":"https://api.github.com/users/timcdlucas","html_url":"https://github.com/timcdlucas","followers_url":"https://api.github.com/users/timcdlucas/followers","following_url":"https://api.github.com/users/timcdlucas/following{/other_user}","gists_url":"https://api.github.com/users/timcdlucas/gists{/gist_id}","starred_url":"https://api.github.com/users/timcdlucas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timcdlucas/subscriptions","organizations_url":"https://api.github.com/users/timcdlucas/orgs","repos_url":"https://api.github.com/users/timcdlucas/repos","events_url":"https://api.github.com/users/timcdlucas/events{/privacy}","received_events_url":"https://api.github.com/users/timcdlucas/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T10:51:16Z","updated_at":"2015-09-15T10:51:16Z","body":"Sounds good and I cant think of anything else that needs testing.\r\n\r\nWonder if its worth asking for abasic example of module use which can then be one of the tests.\r\n\r\nI guess some test of whether modules work with presence absence, presence only and adundance might be useful."}}