{"issue":{"title":"removing examples that hasn't run in Context.TrimSkippedDescendants()","user":{"login":"imrewonga","id":1116295,"url":"https://api.github.com/users/imrewonga","avatar_url":"https://secure.gravatar.com/avatar/93fddae8cad960d291d9c6455a0479ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"93fddae8cad960d291d9c6455a0479ad"},"created_at":"2011-12-22T15:29:51Z","milestone":null,"labels":[],"state":"open","updated_at":"2011-12-25T10:36:02Z","id":2638284,"closed_at":null,"html_url":"https://github.com/mattflo/NSpec/issues/24","pull_request":{"patch_url":"https://github.com/mattflo/NSpec/pull/24.patch","html_url":"https://github.com/mattflo/NSpec/pull/24","diff_url":"https://github.com/mattflo/NSpec/pull/24.diff"},"body":"Hi Amir, Matt,\r\n\r\nI started to play around with tags, nice feature. What I didn't like was that the output included examples that haven't run if I used example-level tags in my filter:\r\n\r\ncontext[\"whatever\"]...\r\n{\r\n  it[\"should be run\", \"shouldberun\"]...\r\n  it[\"should not be run\"]...\r\n}\r\n\r\nIf I run this with tag filter \"shouldberun\" only the relevant example runs but both show up in the output - which not only litters it but can also give the false information that \"should not be run\" ran successfully as no error message is printed.\r\n\r\nI added a single line to fix this plus a new test to describe_tag_filtering to verify it.\r\n\r\nAll the best, keep up the good work!\r\nImre\r\n","number":24,"url":"https://api.github.com/repos/mattflo/NSpec/issues/24","comments":6,"assignee":null},"comment":{"user":{"login":"imrewonga","id":1116295,"url":"https://api.github.com/users/imrewonga","avatar_url":"https://secure.gravatar.com/avatar/93fddae8cad960d291d9c6455a0479ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"93fddae8cad960d291d9c6455a0479ad"},"created_at":"2011-12-25T10:36:02Z","updated_at":"2011-12-25T10:36:02Z","id":3270431,"body":"Hey Amir, it appears we're good with HasRun. It's being set before Pending is checked in Exercise() as can be seen below. I added your unit tests above to verify it works. What do you think?\r\n\r\n```csharp\r\npublic void Exercise(Example example, nspec nspec)\r\n{\r\n    if (nspec.tagsFilter.ShouldSkip(example.Tags)) return;\r\n\r\n    example.HasRun = true;\r\n\r\n    if (example.Pending) return;\r\n\r\n    // ...\r\n}\r\n```\r\n\r\n","url":"https://api.github.com/repos/mattflo/NSpec/issues/comments/3270431"},"action":"created"}