public override IEnumerable<Result> Execute(Release release) { var helper = new StageHelper(); var res = new List<Result>(); var units = release.GetAnalysisUnits(); var readsAndWrites = units.Where(i => i.Stage.Type == "Read" || i.Stage.Type == "Write").ToList(); foreach (var u in readsAndWrites) { if (HasExclusion(u.Stage)) continue; var stages = helper.FilterStagesByPage(u, units); if (!helper.HasAnImediatePreviousWait(u.Stage, units.Where(i => i.PageId == u.PageId).Select(i => i.Stage))) res.Add(FromStageAnalysis(u, ResultType.Error, string.Format("{0} stage {1} is not preceeded by a proper wait stage", u.Stage.Type, u.Stage.Name), "")); } return res; }
public override IEnumerable <Result> Execute(Release release) { var helper = new StageHelper(); var res = new List <Result>(); var units = release.GetAnalysisUnits(); var navigateStages = FilterStagesToAnalize(release.GetAnalysisUnits()); foreach (var u in navigateStages) { var stages = helper.FilterStagesByPage(u, units); if (!helper.HasAnImediatePreviousWait(u.Stage, units.Where(i => i.PageId == u.PageId).Select(i => i.Stage))) { res.Add(FromStageAnalysis(u, ResultType.Error, string.Format("{0} stage {1} is not preceeded by a proper wait stage", u.Stage.Type, u.Stage.Name), "")); } } return(res); }