{"action":"created","comment":{"url":"https://api.github.com/repos/nunit/nunit-console/pulls/comments/83299013","pull_request_review_id":4152867,"id":83299013,"diff_hunk":"@@ -0,0 +1,34 @@\n+﻿// ***********************************************************************\n+// Copyright (c) 2015 Charlie Poole\n+//\n+// Permission is hereby granted, free of charge, to any person obtaining\n+// a copy of this software and associated documentation files (the\n+// \"Software\"), to deal in the Software without restriction, including\n+// without limitation the rights to use, copy, modify, merge, publish,\n+// distribute, sublicense, and/or sell copies of the Software, and to\n+// permit persons to whom the Software is furnished to do so, subject to\n+// the following conditions:\n+//\n+// The above copyright notice and this permission notice shall be\n+// included in all copies or substantial portions of the Software.\n+//\n+// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n+// ***********************************************************************\n+\n+using System.Collections.Generic;\n+\n+namespace NUnit.Common\n+{\n+    public interface IFileSystem","path":"src/NUnitConsole/nunit3-console/IFileSystem.cs","position":28,"original_position":28,"commit_id":"9d1f37ce3ae82ed46bd789a4607acd318779ed1a","original_commit_id":"9d1f37ce3ae82ed46bd789a4607acd318779ed1a","user":{"login":"rprouse","id":493828,"avatar_url":"https://avatars.githubusercontent.com/u/493828?v=3","gravatar_id":"","url":"https://api.github.com/users/rprouse","html_url":"https://github.com/rprouse","followers_url":"https://api.github.com/users/rprouse/followers","following_url":"https://api.github.com/users/rprouse/following{/other_user}","gists_url":"https://api.github.com/users/rprouse/gists{/gist_id}","starred_url":"https://api.github.com/users/rprouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rprouse/subscriptions","organizations_url":"https://api.github.com/users/rprouse/orgs","repos_url":"https://api.github.com/users/rprouse/repos","events_url":"https://api.github.com/users/rprouse/events{/privacy}","received_events_url":"https://api.github.com/users/rprouse/received_events","type":"User","site_admin":false},"body":"@CharliePoole there is an issue, nunit/nunit#346. I don't think that a framework would fit into a small example like this since there is only one dependency being injected, so just constructing it inline is fine. My thinking is that if we could start abstracting all of our usages of things like the file system, dates, etc, then constructing and testing those things starts becoming more difficult.\r\n\r\nOnce we get to the point where we have multiple interfaces and their implementation constructors also have dependencies injected, I find it easier to bootstrap a dependency injection container at startup and then only resolve interfaces in the code.","created_at":"2016-10-13T20:00:39Z","updated_at":"2016-10-13T20:00:39Z","html_url":"https://github.com/nunit/nunit-console/pull/98#discussion_r83299013","pull_request_url":"https://api.github.com/repos/nunit/nunit-console/pulls/98","_links":{"self":{"href":"https://api.github.com/repos/nunit/nunit-console/pulls/comments/83299013"},"html":{"href":"https://github.com/nunit/nunit-console/pull/98#discussion_r83299013"},"pull_request":{"href":"https://api.github.com/repos/nunit/nunit-console/pulls/98"}}},"pull_request":{"url":"https://api.github.com/repos/nunit/nunit-console/pulls/98","id":89207914,"html_url":"https://github.com/nunit/nunit-console/pull/98","diff_url":"https://github.com/nunit/nunit-console/pull/98.diff","patch_url":"https://github.com/nunit/nunit-console/pull/98.patch","issue_url":"https://api.github.com/repos/nunit/nunit-console/issues/98","number":98,"state":"open","locked":false,"title":"Simple implementation for \"Allow users to pass arguments via file(s) instead parameters of a command line\"","user":{"login":"NikolayPianikov","id":11720017,"avatar_url":"https://avatars.githubusercontent.com/u/11720017?v=3","gravatar_id":"","url":"https://api.github.com/users/NikolayPianikov","html_url":"https://github.com/NikolayPianikov","followers_url":"https://api.github.com/users/NikolayPianikov/followers","following_url":"https://api.github.com/users/NikolayPianikov/following{/other_user}","gists_url":"https://api.github.com/users/NikolayPianikov/gists{/gist_id}","starred_url":"https://api.github.com/users/NikolayPianikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NikolayPianikov/subscriptions","organizations_url":"https://api.github.com/users/NikolayPianikov/orgs","repos_url":"https://api.github.com/users/NikolayPianikov/repos","events_url":"https://api.github.com/users/NikolayPianikov/events{/privacy}","received_events_url":"https://api.github.com/users/NikolayPianikov/received_events","type":"User","site_admin":false},"body":"See Allow users to pass arguments via file(s) instead parameters of a command line #94","created_at":"2016-10-13T13:59:55Z","updated_at":"2016-10-13T20:00:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eedfc9b7f98e93317be99d158c75f83c4f046d6e","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/nunit/nunit-console/pulls/98/commits","review_comments_url":"https://api.github.com/repos/nunit/nunit-console/pulls/98/comments","review_comment_url":"https://api.github.com/repos/nunit/nunit-console/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nunit/nunit-console/issues/98/comments","statuses_url":"https://api.github.com/repos/nunit/nunit-console/statuses/9d1f37ce3ae82ed46bd789a4607acd318779ed1a","head":{"label":"NikolayPianikov:issue-94","ref":"issue-94","sha":"9d1f37ce3ae82ed46bd789a4607acd318779ed1a","user":{"login":"NikolayPianikov","id":11720017,"avatar_url":"https://avatars.githubusercontent.com/u/11720017?v=3","gravatar_id":"","url":"https://api.github.com/users/NikolayPianikov","html_url":"https://github.com/NikolayPianikov","followers_url":"https://api.github.com/users/NikolayPianikov/followers","following_url":"https://api.github.com/users/NikolayPianikov/following{/other_user}","gists_url":"https://api.github.com/users/NikolayPianikov/gists{/gist_id}","starred_url":"https://api.github.com/users/NikolayPianikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NikolayPianikov/subscriptions","organizations_url":"https://api.github.com/users/NikolayPianikov/orgs","repos_url":"https://api.github.com/users/NikolayPianikov/repos","events_url":"https://api.github.com/users/NikolayPianikov/events{/privacy}","received_events_url":"https://api.github.com/users/NikolayPianikov/received_events","type":"User","site_admin":false},"repo":{"id":65807044,"name":"nunit-console","full_name":"NikolayPianikov/nunit-console","owner":{"login":"NikolayPianikov","id":11720017,"avatar_url":"https://avatars.githubusercontent.com/u/11720017?v=3","gravatar_id":"","url":"https://api.github.com/users/NikolayPianikov","html_url":"https://github.com/NikolayPianikov","followers_url":"https://api.github.com/users/NikolayPianikov/followers","following_url":"https://api.github.com/users/NikolayPianikov/following{/other_user}","gists_url":"https://api.github.com/users/NikolayPianikov/gists{/gist_id}","starred_url":"https://api.github.com/users/NikolayPianikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NikolayPianikov/subscriptions","organizations_url":"https://api.github.com/users/NikolayPianikov/orgs","repos_url":"https://api.github.com/users/NikolayPianikov/repos","events_url":"https://api.github.com/users/NikolayPianikov/events{/privacy}","received_events_url":"https://api.github.com/users/NikolayPianikov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/NikolayPianikov/nunit-console","description":"NUnit Console runner and test engine","fork":true,"url":"https://api.github.com/repos/NikolayPianikov/nunit-console","forks_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/forks","keys_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/teams","hooks_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/hooks","issue_events_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/issues/events{/number}","events_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/events","assignees_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/assignees{/user}","branches_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/branches{/branch}","tags_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/tags","blobs_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/git/refs{/sha}","trees_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/statuses/{sha}","languages_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/languages","stargazers_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/stargazers","contributors_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/contributors","subscribers_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/subscribers","subscription_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/subscription","commits_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/commits{/sha}","git_commits_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/git/commits{/sha}","comments_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/comments{/number}","issue_comment_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/issues/comments{/number}","contents_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/contents/{+path}","compare_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/merges","archive_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/downloads","issues_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/issues{/number}","pulls_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/pulls{/number}","milestones_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/milestones{/number}","notifications_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/labels{/name}","releases_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/releases{/id}","deployments_url":"https://api.github.com/repos/NikolayPianikov/nunit-console/deployments","created_at":"2016-08-16T09:32:27Z","updated_at":"2016-08-16T09:32:30Z","pushed_at":"2016-10-13T15:16:45Z","git_url":"git://github.com/NikolayPianikov/nunit-console.git","ssh_url":"git@github.com:NikolayPianikov/nunit-console.git","clone_url":"https://github.com/NikolayPianikov/nunit-console.git","svn_url":"https://github.com/NikolayPianikov/nunit-console","homepage":null,"size":20036,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nunit:master","ref":"master","sha":"0562463d0c1453276d185d653857ffe5aa69657e","user":{"login":"nunit","id":2678858,"avatar_url":"https://avatars.githubusercontent.com/u/2678858?v=3","gravatar_id":"","url":"https://api.github.com/users/nunit","html_url":"https://github.com/nunit","followers_url":"https://api.github.com/users/nunit/followers","following_url":"https://api.github.com/users/nunit/following{/other_user}","gists_url":"https://api.github.com/users/nunit/gists{/gist_id}","starred_url":"https://api.github.com/users/nunit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nunit/subscriptions","organizations_url":"https://api.github.com/users/nunit/orgs","repos_url":"https://api.github.com/users/nunit/repos","events_url":"https://api.github.com/users/nunit/events{/privacy}","received_events_url":"https://api.github.com/users/nunit/received_events","type":"Organization","site_admin":false},"repo":{"id":65734036,"name":"nunit-console","full_name":"nunit/nunit-console","owner":{"login":"nunit","id":2678858,"avatar_url":"https://avatars.githubusercontent.com/u/2678858?v=3","gravatar_id":"","url":"https://api.github.com/users/nunit","html_url":"https://github.com/nunit","followers_url":"https://api.github.com/users/nunit/followers","following_url":"https://api.github.com/users/nunit/following{/other_user}","gists_url":"https://api.github.com/users/nunit/gists{/gist_id}","starred_url":"https://api.github.com/users/nunit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nunit/subscriptions","organizations_url":"https://api.github.com/users/nunit/orgs","repos_url":"https://api.github.com/users/nunit/repos","events_url":"https://api.github.com/users/nunit/events{/privacy}","received_events_url":"https://api.github.com/users/nunit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nunit/nunit-console","description":"NUnit Console runner and test engine","fork":false,"url":"https://api.github.com/repos/nunit/nunit-console","forks_url":"https://api.github.com/repos/nunit/nunit-console/forks","keys_url":"https://api.github.com/repos/nunit/nunit-console/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nunit/nunit-console/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nunit/nunit-console/teams","hooks_url":"https://api.github.com/repos/nunit/nunit-console/hooks","issue_events_url":"https://api.github.com/repos/nunit/nunit-console/issues/events{/number}","events_url":"https://api.github.com/repos/nunit/nunit-console/events","assignees_url":"https://api.github.com/repos/nunit/nunit-console/assignees{/user}","branches_url":"https://api.github.com/repos/nunit/nunit-console/branches{/branch}","tags_url":"https://api.github.com/repos/nunit/nunit-console/tags","blobs_url":"https://api.github.com/repos/nunit/nunit-console/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nunit/nunit-console/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nunit/nunit-console/git/refs{/sha}","trees_url":"https://api.github.com/repos/nunit/nunit-console/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nunit/nunit-console/statuses/{sha}","languages_url":"https://api.github.com/repos/nunit/nunit-console/languages","stargazers_url":"https://api.github.com/repos/nunit/nunit-console/stargazers","contributors_url":"https://api.github.com/repos/nunit/nunit-console/contributors","subscribers_url":"https://api.github.com/repos/nunit/nunit-console/subscribers","subscription_url":"https://api.github.com/repos/nunit/nunit-console/subscription","commits_url":"https://api.github.com/repos/nunit/nunit-console/commits{/sha}","git_commits_url":"https://api.github.com/repos/nunit/nunit-console/git/commits{/sha}","comments_url":"https://api.github.com/repos/nunit/nunit-console/comments{/number}","issue_comment_url":"https://api.github.com/repos/nunit/nunit-console/issues/comments{/number}","contents_url":"https://api.github.com/repos/nunit/nunit-console/contents/{+path}","compare_url":"https://api.github.com/repos/nunit/nunit-console/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nunit/nunit-console/merges","archive_url":"https://api.github.com/repos/nunit/nunit-console/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nunit/nunit-console/downloads","issues_url":"https://api.github.com/repos/nunit/nunit-console/issues{/number}","pulls_url":"https://api.github.com/repos/nunit/nunit-console/pulls{/number}","milestones_url":"https://api.github.com/repos/nunit/nunit-console/milestones{/number}","notifications_url":"https://api.github.com/repos/nunit/nunit-console/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nunit/nunit-console/labels{/name}","releases_url":"https://api.github.com/repos/nunit/nunit-console/releases{/id}","deployments_url":"https://api.github.com/repos/nunit/nunit-console/deployments","created_at":"2016-08-15T13:24:01Z","updated_at":"2016-10-13T10:05:27Z","pushed_at":"2016-10-13T15:16:45Z","git_url":"git://github.com/nunit/nunit-console.git","ssh_url":"git@github.com:nunit/nunit-console.git","clone_url":"https://github.com/nunit/nunit-console.git","svn_url":"https://github.com/nunit/nunit-console","homepage":null,"size":20126,"stargazers_count":8,"watchers_count":8,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":51,"forks":8,"open_issues":51,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nunit/nunit-console/pulls/98"},"html":{"href":"https://github.com/nunit/nunit-console/pull/98"},"issue":{"href":"https://api.github.com/repos/nunit/nunit-console/issues/98"},"comments":{"href":"https://api.github.com/repos/nunit/nunit-console/issues/98/comments"},"review_comments":{"href":"https://api.github.com/repos/nunit/nunit-console/pulls/98/comments"},"review_comment":{"href":"https://api.github.com/repos/nunit/nunit-console/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nunit/nunit-console/pulls/98/commits"},"statuses":{"href":"https://api.github.com/repos/nunit/nunit-console/statuses/9d1f37ce3ae82ed46bd789a4607acd318779ed1a"}}}}
{"actor":{"display_login":"rprouse"}}