public void ShouldPresentWithADeclarationAndOneScenarioWhenAValidFeatureFileWithOneScenarioIsLoaded() { // prepare var validContent = TestResources.FeatureFile_OneScenario; // do var parser = new StandardFeatureFileParser(validContent); // check Assert.IsNotNull(parser.Declaration); Assert.IsNotNull(parser.Declaration.Raw); Assert.IsNotNull(parser.Declaration.Name); Assert.IsNotNull(parser.Declaration.Story); Assert.AreNotEqual(string.Empty, parser.Declaration.Raw); Assert.AreNotEqual(string.Empty, parser.Declaration.Name); Assert.AreNotEqual(string.Empty, parser.Declaration.Story); Assert.IsNotNull(parser.Scenarions); Assert.AreNotEqual(0, parser.Scenarions.Count()); foreach (var scenario in parser.Scenarions) { Assert.IsNotNull(scenario.Raw); Assert.IsNotNull(scenario.Name); Assert.IsNotNull(scenario.Text); Assert.AreNotEqual(string.Empty, scenario.Raw); Assert.AreNotEqual(string.Empty, scenario.Name); Assert.AreNotEqual(string.Empty, scenario.Text); } }
public void ShouldIndicateAnInvalidFeatureFileWhenOnlyDeclarationIsValid() { // prepare var invalidContent = TestResources.FeatureFile_MissingScenarios; // do var parser = new StandardFeatureFileParser(invalidContent); // check: [ExpectedException()] }
public void ShouldIndicateAnInvalidFeatureFileContentOnGibberish() { // prepare var invalidContent = "INVALID FEATURE"; // do var parser = new StandardFeatureFileParser(invalidContent); // check: [ExpectedException()] }
public void ShouldIndicateAnInvalidFeatureFileContentOnEmpty() { // prepare var invalidContent = string.Empty; // do var parser = new StandardFeatureFileParser(invalidContent); // check: [ExpectedException()] }
public void EnsureTestFeature() { var featureAttrib = this.TestClass.GetCustomAttribute<TestFeatureAttribute>(); if (featureAttrib == null) { throw new InvalidTestClassException(this.TestClass); } try { var featureRaw = this.ReadFeatureFile(featureAttrib.File); var parser = new StandardFeatureFileParser(featureRaw); this.testFeature = parser.ToFeature(featureAttrib.File); } catch (Exception inner) { throw new FeatureFileCouldNotBeLoadedException( featureAttrib.File, inner); } }
private Feature FeatureFromFeatureFile(string filePath) { var feature = new Feature(); feature.File = filePath; var featureSpec = this.ReadFeatureFile(filePath); var parser = new StandardFeatureFileParser(featureSpec); feature.Name = parser.Declaration.Name; feature.Story = parser.Declaration.Story; foreach (var parsedScenario in parser.Scenarions) { feature.Scenarios.Add(new Scenario() { @Name = parsedScenario.Name, @Scope = parsedScenario.Scope, @Statements = { Given = parsedScenario.GivenStatement, When = parsedScenario.WhenStatement, Then = parsedScenario.ThenStatement } }); } return feature; }