{"action":"created","comment":{"url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/comments/113861316","pull_request_review_id":35285068,"id":113861316,"diff_hunk":"@@ -236,22 +259,105 @@ class TestGeneralSoftGrudger(TestPlayer):\n     }\n \n     def test_strategy(self):\n-        \"\"\"Test strategy with multiple initial parameters\"\"\"\n-\n-        # Starts by cooperating.\n-        self.first_play_test(C)\n-\n-        # Testing default parameters of n=1, d=4, c=2 (same as Soft Grudger)\n-        actions = [(C, D), (D, D), (D, C), (D, C), (D, D), (C, D), (C, C), (C, C)]\n-        self.versus_test(axelrod.MockPlayer(actions=[D, D, C, C]), expected_actions=actions)\n-\n-        # Testing n=2, d=4, c=2\n-        actions = [(C, D), (C, D), (D, C), (D, C), (D, D), (D, D), (C, C), (C, C)]\n-        self.versus_test(axelrod.MockPlayer(actions=[D, D, C, C]), expected_actions=actions,\n-                         init_kwargs={\"n\": 2})\n-\n-        # Testing n=1, d=1, c=1\n-        actions = [(C, D), (D, D), (C, C), (C, C), (C, D), (D, D), (C, C), (C, C)]\n-        self.versus_test(axelrod.MockPlayer(actions=[D, D, C, C]), expected_actions=actions,\n-                         init_kwargs={\"n\": 1, \"d\": 1, \"c\": 1})\n-\n+        # the default follows SoftGrudger\n+        super(TestGeneralSoftGrudger, self).test_strategy()\n+","path":"axelrod/tests/strategies/test_grudger.py","position":346,"original_position":346,"commit_id":"9d6ac1df3cf3e2d3c8180270e4c0ea6c0da70583","original_commit_id":"9d6ac1df3cf3e2d3c8180270e4c0ea6c0da70583","user":{"login":"eric-s-s","id":15126196,"avatar_url":"https://avatars1.githubusercontent.com/u/15126196?v=3","gravatar_id":"","url":"https://api.github.com/users/eric-s-s","html_url":"https://github.com/eric-s-s","followers_url":"https://api.github.com/users/eric-s-s/followers","following_url":"https://api.github.com/users/eric-s-s/following{/other_user}","gists_url":"https://api.github.com/users/eric-s-s/gists{/gist_id}","starred_url":"https://api.github.com/users/eric-s-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eric-s-s/subscriptions","organizations_url":"https://api.github.com/users/eric-s-s/orgs","repos_url":"https://api.github.com/users/eric-s-s/repos","events_url":"https://api.github.com/users/eric-s-s/events{/privacy}","received_events_url":"https://api.github.com/users/eric-s-s/received_events","type":"User","site_admin":false},"body":"@drvinceknight - in the previous PR you asked me why i changed from the original `test_strategy` to the following three tests.  so I thought it over and here is my reasoning.  \r\n\r\n1 - I thought tests physically separated from each other and the default behavior tests were more clear.\r\n2 - for `n != 1` I wanted tests that showed the edges at and below the threshold.  (and what happens with constant defections, which, for reasons unknown to me, I kept getting surprised about)\r\n\r\nwhether or not these are good reasons, I do think it useful to have this inherit from `TestSoftGrudger` which will test the default behavior and `reset`","created_at":"2017-04-28T06:43:26Z","updated_at":"2017-04-28T06:43:26Z","html_url":"https://github.com/Axelrod-Python/Axelrod/pull/993#discussion_r113861316","pull_request_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993","_links":{"self":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/comments/113861316"},"html":{"href":"https://github.com/Axelrod-Python/Axelrod/pull/993#discussion_r113861316"},"pull_request":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993"}}},"pull_request":{"url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993","id":118087611,"html_url":"https://github.com/Axelrod-Python/Axelrod/pull/993","diff_url":"https://github.com/Axelrod-Python/Axelrod/pull/993.diff","patch_url":"https://github.com/Axelrod-Python/Axelrod/pull/993.patch","issue_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/993","number":993,"state":"open","locked":false,"title":"884 grudger - with 1 to 3 issues","user":{"login":"eric-s-s","id":15126196,"avatar_url":"https://avatars1.githubusercontent.com/u/15126196?v=3","gravatar_id":"","url":"https://api.github.com/users/eric-s-s","html_url":"https://github.com/eric-s-s","followers_url":"https://api.github.com/users/eric-s-s/followers","following_url":"https://api.github.com/users/eric-s-s/following{/other_user}","gists_url":"https://api.github.com/users/eric-s-s/gists{/gist_id}","starred_url":"https://api.github.com/users/eric-s-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eric-s-s/subscriptions","organizations_url":"https://api.github.com/users/eric-s-s/orgs","repos_url":"https://api.github.com/users/eric-s-s/repos","events_url":"https://api.github.com/users/eric-s-s/events{/privacy}","received_events_url":"https://api.github.com/users/eric-s-s/received_events","type":"User","site_admin":false},"body":"grudger has one issue and possibly three.\r\n\r\n- ForgetfulGrudger: changed in PR\r\n    - docstring and code did not match.  docstring said grudge for 10 rounds and code said grudge for 11    rounds\r\n    - changed code to fit docstring\r\n- GeneralSoftGrudger: changed in PR\r\n    - possibly an issue IF edge cases are valid.  \r\n    - I tested for edge cases of n=0, d=0 and c=0.  original code did not follow expected.  updated code.\r\n- Possible issue not changed:\r\n    - should ForgetfulGrudger and SoftGrudger inherit from GeneralSoftGrudger?  they are `GeneralSoftGrudger(n=1, d=10, c=0)` and `GeneralSoftGrudger(n=1, d=4, c=2)`\r\n","created_at":"2017-04-28T06:24:42Z","updated_at":"2017-04-28T06:43:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8d5d02e225d2f986f88ef579c78f2b162f04d74b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993/commits","review_comments_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993/comments","review_comment_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/993/comments","statuses_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/statuses/9d6ac1df3cf3e2d3c8180270e4c0ea6c0da70583","head":{"label":"eric-s-s:884-grudger","ref":"884-grudger","sha":"9d6ac1df3cf3e2d3c8180270e4c0ea6c0da70583","user":{"login":"eric-s-s","id":15126196,"avatar_url":"https://avatars1.githubusercontent.com/u/15126196?v=3","gravatar_id":"","url":"https://api.github.com/users/eric-s-s","html_url":"https://github.com/eric-s-s","followers_url":"https://api.github.com/users/eric-s-s/followers","following_url":"https://api.github.com/users/eric-s-s/following{/other_user}","gists_url":"https://api.github.com/users/eric-s-s/gists{/gist_id}","starred_url":"https://api.github.com/users/eric-s-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eric-s-s/subscriptions","organizations_url":"https://api.github.com/users/eric-s-s/orgs","repos_url":"https://api.github.com/users/eric-s-s/repos","events_url":"https://api.github.com/users/eric-s-s/events{/privacy}","received_events_url":"https://api.github.com/users/eric-s-s/received_events","type":"User","site_admin":false},"repo":{"id":85744718,"name":"Axelrod","full_name":"eric-s-s/Axelrod","owner":{"login":"eric-s-s","id":15126196,"avatar_url":"https://avatars1.githubusercontent.com/u/15126196?v=3","gravatar_id":"","url":"https://api.github.com/users/eric-s-s","html_url":"https://github.com/eric-s-s","followers_url":"https://api.github.com/users/eric-s-s/followers","following_url":"https://api.github.com/users/eric-s-s/following{/other_user}","gists_url":"https://api.github.com/users/eric-s-s/gists{/gist_id}","starred_url":"https://api.github.com/users/eric-s-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eric-s-s/subscriptions","organizations_url":"https://api.github.com/users/eric-s-s/orgs","repos_url":"https://api.github.com/users/eric-s-s/repos","events_url":"https://api.github.com/users/eric-s-s/events{/privacy}","received_events_url":"https://api.github.com/users/eric-s-s/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/eric-s-s/Axelrod","description":"A research tool for the Iterated Prisoner's Dilemma","fork":true,"url":"https://api.github.com/repos/eric-s-s/Axelrod","forks_url":"https://api.github.com/repos/eric-s-s/Axelrod/forks","keys_url":"https://api.github.com/repos/eric-s-s/Axelrod/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eric-s-s/Axelrod/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eric-s-s/Axelrod/teams","hooks_url":"https://api.github.com/repos/eric-s-s/Axelrod/hooks","issue_events_url":"https://api.github.com/repos/eric-s-s/Axelrod/issues/events{/number}","events_url":"https://api.github.com/repos/eric-s-s/Axelrod/events","assignees_url":"https://api.github.com/repos/eric-s-s/Axelrod/assignees{/user}","branches_url":"https://api.github.com/repos/eric-s-s/Axelrod/branches{/branch}","tags_url":"https://api.github.com/repos/eric-s-s/Axelrod/tags","blobs_url":"https://api.github.com/repos/eric-s-s/Axelrod/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eric-s-s/Axelrod/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eric-s-s/Axelrod/git/refs{/sha}","trees_url":"https://api.github.com/repos/eric-s-s/Axelrod/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eric-s-s/Axelrod/statuses/{sha}","languages_url":"https://api.github.com/repos/eric-s-s/Axelrod/languages","stargazers_url":"https://api.github.com/repos/eric-s-s/Axelrod/stargazers","contributors_url":"https://api.github.com/repos/eric-s-s/Axelrod/contributors","subscribers_url":"https://api.github.com/repos/eric-s-s/Axelrod/subscribers","subscription_url":"https://api.github.com/repos/eric-s-s/Axelrod/subscription","commits_url":"https://api.github.com/repos/eric-s-s/Axelrod/commits{/sha}","git_commits_url":"https://api.github.com/repos/eric-s-s/Axelrod/git/commits{/sha}","comments_url":"https://api.github.com/repos/eric-s-s/Axelrod/comments{/number}","issue_comment_url":"https://api.github.com/repos/eric-s-s/Axelrod/issues/comments{/number}","contents_url":"https://api.github.com/repos/eric-s-s/Axelrod/contents/{+path}","compare_url":"https://api.github.com/repos/eric-s-s/Axelrod/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eric-s-s/Axelrod/merges","archive_url":"https://api.github.com/repos/eric-s-s/Axelrod/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eric-s-s/Axelrod/downloads","issues_url":"https://api.github.com/repos/eric-s-s/Axelrod/issues{/number}","pulls_url":"https://api.github.com/repos/eric-s-s/Axelrod/pulls{/number}","milestones_url":"https://api.github.com/repos/eric-s-s/Axelrod/milestones{/number}","notifications_url":"https://api.github.com/repos/eric-s-s/Axelrod/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eric-s-s/Axelrod/labels{/name}","releases_url":"https://api.github.com/repos/eric-s-s/Axelrod/releases{/id}","deployments_url":"https://api.github.com/repos/eric-s-s/Axelrod/deployments","created_at":"2017-03-21T19:30:57Z","updated_at":"2017-03-21T19:30:59Z","pushed_at":"2017-04-28T06:13:44Z","git_url":"git://github.com/eric-s-s/Axelrod.git","ssh_url":"git@github.com:eric-s-s/Axelrod.git","clone_url":"https://github.com/eric-s-s/Axelrod.git","svn_url":"https://github.com/eric-s-s/Axelrod","homepage":"http://axelrod.readthedocs.org/","size":5449,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"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":"Axelrod-Python:master","ref":"master","sha":"b89830401e277a6d85f564341ccaeadeaaf0391b","user":{"login":"Axelrod-Python","id":11720937,"avatar_url":"https://avatars2.githubusercontent.com/u/11720937?v=3","gravatar_id":"","url":"https://api.github.com/users/Axelrod-Python","html_url":"https://github.com/Axelrod-Python","followers_url":"https://api.github.com/users/Axelrod-Python/followers","following_url":"https://api.github.com/users/Axelrod-Python/following{/other_user}","gists_url":"https://api.github.com/users/Axelrod-Python/gists{/gist_id}","starred_url":"https://api.github.com/users/Axelrod-Python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Axelrod-Python/subscriptions","organizations_url":"https://api.github.com/users/Axelrod-Python/orgs","repos_url":"https://api.github.com/users/Axelrod-Python/repos","events_url":"https://api.github.com/users/Axelrod-Python/events{/privacy}","received_events_url":"https://api.github.com/users/Axelrod-Python/received_events","type":"Organization","site_admin":false},"repo":{"id":30959449,"name":"Axelrod","full_name":"Axelrod-Python/Axelrod","owner":{"login":"Axelrod-Python","id":11720937,"avatar_url":"https://avatars2.githubusercontent.com/u/11720937?v=3","gravatar_id":"","url":"https://api.github.com/users/Axelrod-Python","html_url":"https://github.com/Axelrod-Python","followers_url":"https://api.github.com/users/Axelrod-Python/followers","following_url":"https://api.github.com/users/Axelrod-Python/following{/other_user}","gists_url":"https://api.github.com/users/Axelrod-Python/gists{/gist_id}","starred_url":"https://api.github.com/users/Axelrod-Python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Axelrod-Python/subscriptions","organizations_url":"https://api.github.com/users/Axelrod-Python/orgs","repos_url":"https://api.github.com/users/Axelrod-Python/repos","events_url":"https://api.github.com/users/Axelrod-Python/events{/privacy}","received_events_url":"https://api.github.com/users/Axelrod-Python/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Axelrod-Python/Axelrod","description":"A research tool for the Iterated Prisoner's Dilemma","fork":false,"url":"https://api.github.com/repos/Axelrod-Python/Axelrod","forks_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/forks","keys_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/teams","hooks_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/hooks","issue_events_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/events{/number}","events_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/events","assignees_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/assignees{/user}","branches_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/branches{/branch}","tags_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/tags","blobs_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/git/refs{/sha}","trees_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/statuses/{sha}","languages_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/languages","stargazers_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/stargazers","contributors_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/contributors","subscribers_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/subscribers","subscription_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/subscription","commits_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/commits{/sha}","git_commits_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/git/commits{/sha}","comments_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/comments{/number}","issue_comment_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/comments{/number}","contents_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/contents/{+path}","compare_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/merges","archive_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/downloads","issues_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues{/number}","pulls_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls{/number}","milestones_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/milestones{/number}","notifications_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/labels{/name}","releases_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/releases{/id}","deployments_url":"https://api.github.com/repos/Axelrod-Python/Axelrod/deployments","created_at":"2015-02-18T09:37:17Z","updated_at":"2017-04-27T13:04:06Z","pushed_at":"2017-04-28T06:24:42Z","git_url":"git://github.com/Axelrod-Python/Axelrod.git","ssh_url":"git@github.com:Axelrod-Python/Axelrod.git","clone_url":"https://github.com/Axelrod-Python/Axelrod.git","svn_url":"https://github.com/Axelrod-Python/Axelrod","homepage":"http://axelrod.readthedocs.org/","size":5401,"stargazers_count":183,"watchers_count":183,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":94,"mirror_url":null,"open_issues_count":26,"forks":94,"open_issues":26,"watchers":183,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993"},"html":{"href":"https://github.com/Axelrod-Python/Axelrod/pull/993"},"issue":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/993"},"comments":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/issues/993/comments"},"review_comments":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993/comments"},"review_comment":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/pulls/993/commits"},"statuses":{"href":"https://api.github.com/repos/Axelrod-Python/Axelrod/statuses/9d6ac1df3cf3e2d3c8180270e4c0ea6c0da70583"}}}}
{"actor":{"display_login":"eric-s-s"}}