public IEnumerable<Feature> LoadFiles(IEnumerable<string> files) { var textParser = new GherkinScenarioParser(configuration); var features = new List<Feature>(); Feature feature = null; textParser.FeatureEvent += (s, e) => { feature = e.EventInfo; features.Add(e.EventInfo); }; textParser.ScenarioEvent += (s, e) => { if (feature == null) { feature = e.EventInfo.Feature; features.Add(feature); } }; foreach (var file in files) { feature = null; textParser.Parse(file); } return features; }
private IEnumerable<Feature> ParseFeatures(IEnumerable<string> featureFiles, NBehaveConfiguration configuration) { var features = new List<Feature>(); EventHandler<EventArgs<Feature>> featureStarted = (s, e) => features.Add(e.EventInfo); var parser = new GherkinScenarioParser(configuration); parser.FeatureEvent += featureStarted; foreach (var featureFile in featureFiles) { try { parser.Parse(featureFile); } catch (ParseException) { } } parser.FeatureEvent -= featureStarted; return features; }