IEnumerable<string> Filters(MSpecTestRunner.Run run)
        {
            var filters = CreateFilterFile(run.RunInfos);

            if (filters == null)
            {
                yield break;
            }

            run.RegisterCleanup(() =>
                {
                    if (_fileSystem.FileExists(filters))
                    {
                        File.Delete(filters);
                    }
                });

            yield return String.Format("--filter \"{0}\"", filters);
        }
        IEnumerable<string> XmlReport(MSpecTestRunner.Run run)
        {
            var report = Path.GetTempFileName();

            run.RegisterResultHarvester(()=>
                {
                    var parser = new MSpecReportParser(report, run);
                    return parser.Parse();
                });

            run.RegisterCleanup(() =>
                {
                    if (_fileSystem.FileExists(report))
                    {
                        File.Delete(report);
                    }
                });

            yield return String.Format("--xml \"{0}\"", report);
        }