{"action":"created","issue":{"url":"https://api.github.com/repos/Insti/xruby/issues/1","repository_url":"https://api.github.com/repos/Insti/xruby","labels_url":"https://api.github.com/repos/Insti/xruby/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/Insti/xruby/issues/1/comments","events_url":"https://api.github.com/repos/Insti/xruby/issues/1/events","html_url":"https://github.com/Insti/xruby/pull/1","id":187553955,"number":1,"title":"[WIP] Test generation refactor","user":{"login":"Insti","id":5096681,"avatar_url":"https://avatars.githubusercontent.com/u/5096681?v=3","gravatar_id":"","url":"https://api.github.com/users/Insti","html_url":"https://github.com/Insti","followers_url":"https://api.github.com/users/Insti/followers","following_url":"https://api.github.com/users/Insti/following{/other_user}","gists_url":"https://api.github.com/users/Insti/gists{/gist_id}","starred_url":"https://api.github.com/users/Insti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Insti/subscriptions","organizations_url":"https://api.github.com/users/Insti/orgs","repos_url":"https://api.github.com/users/Insti/repos","events_url":"https://api.github.com/users/Insti/events{/privacy}","received_events_url":"https://api.github.com/users/Insti/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-11-06T10:41:48Z","updated_at":"2016-11-08T13:02:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Insti/xruby/pulls/1","html_url":"https://github.com/Insti/xruby/pull/1","diff_url":"https://github.com/Insti/xruby/pull/1.diff","patch_url":"https://github.com/Insti/xruby/pull/1.patch"},"body":"These are a big bunch of exploratory refactorings trying to arrive at a more elegant test generation process.\r\n\r\nThese changes are **NOT** ready to be merged in to main xruby due to incompatibility with every other existing test generator.\r\n\r\n`Isogram` was the the main example used.\r\n\r\nExtracted `ExerciseTestCase` and `ExterciseTestCases` classes.\r\n\r\n[isogram_cases.rb](https://github.com/Insti/xruby/blob/test_generation_refactor/lib/isogram_cases.rb) and the [template](https://github.com/Insti/xruby/blob/test_generation_refactor/exercises/isogram/example.tt) are both now much simpler.\r\n\r\nOther test cases should be really easy to make by just creating the relevant `workload` method.\r\n\r\n```\r\n  def workload\r\n    [\r\n      \"string = '#{canonical_data.input}'\",\r\n      \"#{assertion} Isogram.isogram?(string), '#{failure_message}'\"\r\n    ]\r\n  end\r\n```\r\n\r\nHandling of test skipping and building the complete test case is handled by the parent `ExerciseTestCase` class.\r\n\r\nAll this has required changes to [lib/generator.rb](https://github.com/Insti/xruby/blob/test_generation_refactor/lib/generator.rb) which at this point are not backwards compatible.\r\n\r\nAdded a [tests](https://github.com/Insti/xruby/tree/test_generation_refactor/tests) directory for tests of the generator code.\r\nAs well as a `Rakefile` for running the tests,\r\n```\r\nrake test\r\n```\r\nand `simplecov` for checking test coverage. (A /coverage directory is created automatically)\r\n\r\nThis is all still a work in progress.\r\n"},"comment":{"url":"https://api.github.com/repos/Insti/xruby/issues/comments/259130627","html_url":"https://github.com/Insti/xruby/pull/1#issuecomment-259130627","issue_url":"https://api.github.com/repos/Insti/xruby/issues/1","id":259130627,"user":{"login":"bmulvihill","id":3128920,"avatar_url":"https://avatars.githubusercontent.com/u/3128920?v=3","gravatar_id":"","url":"https://api.github.com/users/bmulvihill","html_url":"https://github.com/bmulvihill","followers_url":"https://api.github.com/users/bmulvihill/followers","following_url":"https://api.github.com/users/bmulvihill/following{/other_user}","gists_url":"https://api.github.com/users/bmulvihill/gists{/gist_id}","starred_url":"https://api.github.com/users/bmulvihill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmulvihill/subscriptions","organizations_url":"https://api.github.com/users/bmulvihill/orgs","repos_url":"https://api.github.com/users/bmulvihill/repos","events_url":"https://api.github.com/users/bmulvihill/events{/privacy}","received_events_url":"https://api.github.com/users/bmulvihill/received_events","type":"User","site_admin":false},"created_at":"2016-11-08T13:02:22Z","updated_at":"2016-11-08T13:02:22Z","body":"Hmm I see that, I need to think about it a bit, a different template could work and might be the best solution."}}
{"actor":{"display_login":"bmulvihill"}}