{"action":"created","issue":{"url":"https://api.github.com/repos/nunit/nunit/issues/754","labels_url":"https://api.github.com/repos/nunit/nunit/issues/754/labels{/name}","comments_url":"https://api.github.com/repos/nunit/nunit/issues/754/comments","events_url":"https://api.github.com/repos/nunit/nunit/issues/754/events","html_url":"https://github.com/nunit/nunit/pull/754","id":97769099,"number":754,"title":"Issue 750","user":{"login":"CharliePoole","id":2678661,"avatar_url":"https://avatars.githubusercontent.com/u/2678661?v=3","gravatar_id":"","url":"https://api.github.com/users/CharliePoole","html_url":"https://github.com/CharliePoole","followers_url":"https://api.github.com/users/CharliePoole/followers","following_url":"https://api.github.com/users/CharliePoole/following{/other_user}","gists_url":"https://api.github.com/users/CharliePoole/gists{/gist_id}","starred_url":"https://api.github.com/users/CharliePoole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CharliePoole/subscriptions","organizations_url":"https://api.github.com/users/CharliePoole/orgs","repos_url":"https://api.github.com/users/CharliePoole/repos","events_url":"https://api.github.com/users/CharliePoole/events{/privacy}","received_events_url":"https://api.github.com/users/CharliePoole/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-07-28T18:24:26Z","updated_at":"2015-08-06T16:45:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nunit/nunit/pulls/754","html_url":"https://github.com/nunit/nunit/pull/754","diff_url":"https://github.com/nunit/nunit/pull/754.diff","patch_url":"https://github.com/nunit/nunit/pull/754.patch"},"body":"…Remove all knowledge of Explicit from the filters. Impacts #750.\r\n\r\n** Not Yet Ready to be Merged **\r\n\r\nHowever, I pushed it anyway because...\r\n\r\n* It's a big change\r\n* Almost all of what is in the first commit will remain unchanged\r\n* I'd like some input on the next steps\r\n\r\nThe first commit establishes an Explicit ResultState, in addition to the Explicit RunState we already have. Filters no longer check for RunState.Explicit. Rather, they expose a new entry point IsExplicitMatch, which is intended to be used at execution time.\r\n\r\nWhile this fix is limited to Explicit tests, it's significant because it explicitly postpones the decision on which child tests to run until run-time. Previously, decisions were made at load-time, except for the special knowledge embedded in the filter, which made explicit tests simply disappear. Consequently, I'd like to get the object design right.\r\n\r\nCurrently, the knowledge that some tests are explicit lives in two places: CompositeWorkItem and the SkipResult. I think that CompositeWorkItem, which handles Explicit fixtures, is pretty clean. However, to handle Explicit test cases, SImpleWorkItem had to be given a reference to the filter. It passes that filter through to the static CommandBuilder, which decides whether to create a SkipResult or run the test as normal. I'm not 100% satisfied with this and would like input.\r\n\r\nAll that said, it's cool that the console summary report lines now balance correctly for the first time since I invented Explicit!"},"comment":{"url":"https://api.github.com/repos/nunit/nunit/issues/comments/128436425","html_url":"https://github.com/nunit/nunit/pull/754#issuecomment-128436425","issue_url":"https://api.github.com/repos/nunit/nunit/issues/754","id":128436425,"user":{"login":"CharliePoole","id":2678661,"avatar_url":"https://avatars.githubusercontent.com/u/2678661?v=3","gravatar_id":"","url":"https://api.github.com/users/CharliePoole","html_url":"https://github.com/CharliePoole","followers_url":"https://api.github.com/users/CharliePoole/followers","following_url":"https://api.github.com/users/CharliePoole/following{/other_user}","gists_url":"https://api.github.com/users/CharliePoole/gists{/gist_id}","starred_url":"https://api.github.com/users/CharliePoole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CharliePoole/subscriptions","organizations_url":"https://api.github.com/users/CharliePoole/orgs","repos_url":"https://api.github.com/users/CharliePoole/repos","events_url":"https://api.github.com/users/CharliePoole/events{/privacy}","received_events_url":"https://api.github.com/users/CharliePoole/received_events","type":"User","site_admin":false},"created_at":"2015-08-06T16:45:25Z","updated_at":"2015-08-06T16:45:25Z","body":"@rprouse Thanks for the feedback. Maybe I'm just being too anal about my object-orientation. I'll take a final look at the code before I merge it."}}