{"action":"created","issue":{"url":"https://api.github.com/repos/troessner/reek/issues/1030","repository_url":"https://api.github.com/repos/troessner/reek","labels_url":"https://api.github.com/repos/troessner/reek/issues/1030/labels{/name}","comments_url":"https://api.github.com/repos/troessner/reek/issues/1030/comments","events_url":"https://api.github.com/repos/troessner/reek/issues/1030/events","html_url":"https://github.com/troessner/reek/issues/1030","id":172406487,"number":1030,"title":"Re-introduce Mutant","user":{"login":"troessner","id":271109,"avatar_url":"https://avatars.githubusercontent.com/u/271109?v=3","gravatar_id":"","url":"https://api.github.com/users/troessner","html_url":"https://github.com/troessner","followers_url":"https://api.github.com/users/troessner/followers","following_url":"https://api.github.com/users/troessner/following{/other_user}","gists_url":"https://api.github.com/users/troessner/gists{/gist_id}","starred_url":"https://api.github.com/users/troessner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/troessner/subscriptions","organizations_url":"https://api.github.com/users/troessner/orgs","repos_url":"https://api.github.com/users/troessner/repos","events_url":"https://api.github.com/users/troessner/events{/privacy}","received_events_url":"https://api.github.com/users/troessner/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/troessner/reek/labels/discussion","name":"discussion","color":"eb6420"},{"url":"https://api.github.com/repos/troessner/reek/labels/internal","name":"internal","color":"84e3f0"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":35,"created_at":"2016-08-22T09:28:40Z","updated_at":"2016-10-13T16:57:20Z","closed_at":null,"body":"With #1007 implemented I'd love to discuss how we can re-introduce mutant \"the right way\".\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/troessner/reek/issues/comments/253573037","html_url":"https://github.com/troessner/reek/issues/1030#issuecomment-253573037","issue_url":"https://api.github.com/repos/troessner/reek/issues/1030","id":253573037,"user":{"login":"mbj","id":117966,"avatar_url":"https://avatars.githubusercontent.com/u/117966?v=3","gravatar_id":"","url":"https://api.github.com/users/mbj","html_url":"https://github.com/mbj","followers_url":"https://api.github.com/users/mbj/followers","following_url":"https://api.github.com/users/mbj/following{/other_user}","gists_url":"https://api.github.com/users/mbj/gists{/gist_id}","starred_url":"https://api.github.com/users/mbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbj/subscriptions","organizations_url":"https://api.github.com/users/mbj/orgs","repos_url":"https://api.github.com/users/mbj/repos","events_url":"https://api.github.com/users/mbj/events{/privacy}","received_events_url":"https://api.github.com/users/mbj/received_events","type":"User","site_admin":false},"created_at":"2016-10-13T16:57:20Z","updated_at":"2016-10-13T16:57:20Z","body":"> In the case where I as the implementor know there is no difference in practice for the types that actually occur, I would argue that it becomes a style issue. For these cases, there is no reasonable test setup that will kill the mutant, yet the code is both perfectly fine and not overcomplicated for the functionality provided.\r\n\r\nYou transform a value to compare equivalency via a weak operator `left.to_s ==\" right\"` is 2 times less correct than `left.equal?(:most_primitive_literal)`, weak equivalency test + testing on presentation not the original value. That would be the most redundancy free implementation of what you can specify from your tests. Hence you should use this.\r\n\r\nYou all agree that a mutation from `a; b` to `a` is okay, because if we can remove semantics of `b` without counter examples in our tests we should not have ´b` in the first place.\r\n\r\nThis case is not different, at all. As you may have a solution via a mutant plugin, I'm fine to stop arguing here."}}
{"actor":{"display_login":"mbj"}}