public void should_display_examples_on_reports() { var scenario = new StubUserStoryScenarioForWithExamples(); var sut = new BddfyTestEngine(); var story = sut.Execute(scenario); var reporter = new TextReporter(); reporter.Process(story); Approvals.Verify(reporter.ToString()); }
public void TagsAreReportedInTextReport() { var story = this.Given(_ => GivenAStep()) .WithTags("Tag1", "Tag 2") .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); textReporter.ToString().ShouldMatchApproved(); }
public void FluentCanBeUsedWithExamplesEndingInANumber() { var story = this .Given(_ => MethodTaking__ExampleInt1__(1), false) .When(_ => WhenEmptyMethod()) .Then(_ => ThenAllIsGood()) .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); Approvals.Verify(textReporter.ToString()); }
public void FluentCanBeUsedWithExamples() { var story = this .Given(_ => MethodTaking__ExampleIntA__(1), false) .When(_ => WhenEmptyMethod()) .Then(_ => ThenAllIsGood()) .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); textReporter.ToString().ShouldMatchApproved(); }
public void ShouldProduceExpectedTextWithExamples() { var stories = new ReportTestData().CreateTwoStoriesEachWithOneFailingScenarioAndOnePassingScenarioWithThreeStepsOfFiveMillisecondsAndEachHasTwoExamples(); var actual = new StringBuilder(); foreach (var story in stories) { var textReporter = new TextReporter(); textReporter.Process(story); actual.AppendLine(textReporter.ToString()); } Approvals.Verify(actual.ToString(), StackTraceScrubber.Scrub); }
public void ShouldProduceExpectedReport() { var stories = new ReportTestData().CreateMixContainingEachTypeOfOutcomeWithOneScenarioPerStory(); var actual = new StringBuilder(); foreach (var story in stories) { var textReporter = new TextReporter(); textReporter.Process(story); actual.AppendLine(textReporter.ToString()); } Approvals.Verify(actual.ToString(), StackTraceScrubber.Scrub); }
public void Run() { var story = this .WithExamples(new ExampleTable("First Example", "Second Example") { { 1, "foo" }, { 2, "bar" } }) .BDDfy(); var reporter = new TextReporter(); reporter.Process(story); reporter.ToString().ShouldMatchApproved(); }
public void Inline() { // ReSharper disable once ConvertToConstant.Local var inlineVariable = 0; var story = this .Given(_ => GivenIntWithValue(inlineVariable)) .WithExamples(new ExampleTable("Inline Variable") { 1, 2 }) .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); Approvals.Verify(textReporter.ToString()); }
public void VerifyPrependStepTitles() { var story = this.Given(_ => GivenAStepWithGivenInIt()) .Given(_ => AStepWithoutGivenInIt()) .And(_ => AndGivenAStepWithAndGivenInIt()) .And(_ => AStepWithoutGivenInIt()) .But(_ => ButInStep()) .But(_ => NothingInStep()) .When(_ => WhenStuff()) .When(_ => Stuff()) .Then(_ => ThenWeAreWinning()) .Then(_ => WeAreWinning()) .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); textReporter.ToString().ShouldMatchApproved(); }
public void LongStepName() { var textReporter = new TextReporter(); var scenario = new Scenario(typeof(TextReporterTests), new List <Step> { new Step(o => null, new StepTitle("Given a normal length title"), false, ExecutionOrder.SetupState, true, new List <StepArgument>()), new Step(o => null, new StepTitle("When something of normal length happens"), false, ExecutionOrder.Transition, true, new List <StepArgument>()), new Step(o => null, new StepTitle("Then some long state should be: #Title\r\n\r\nSome more stuff which is quite long on the second line\r\n\r\nAnd finally another really long line"), true, ExecutionOrder.Assertion, true, new List <StepArgument>()), new Step(o => null, new StepTitle("And a normal length assertion"), true, ExecutionOrder.ConsecutiveAssertion, true, new List <StepArgument>()) }, "Scenario Text", new List <string>()); textReporter.Process(new Story(new StoryMetadata(typeof(TextReporterTests), new StoryNarrativeAttribute()), scenario)); var actual = new StringBuilder(); actual.AppendLine(textReporter.ToString()); Approvals.Verify(actual.ToString(), StackTraceScrubber.Scrub); }
public void CanUseActionsInExamples() { ExampleAction actionToPerform = null; int valueShouldBe = 0; var story = this.Given(_ => SomeSetup()) .When(() => actionToPerform) .Then(_ => ShouldBe(valueShouldBe)) .WithExamples(new ExampleTable("Action to perform", "Value should be") { { new ExampleAction("Do something", () => { _value = 42; }), 42 }, { new ExampleAction("Do something else", () => { _value = 7; }), 7 } }) .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); textReporter.ToString().ShouldMatchApproved(); }
public void FluentCanBeUsedWithExamples() { var story = this .Given(_ => MethodTaking__ExampleInt__(Prop1), false) .And(_ => MethodTaking__ExampleInt__(_.Prop1), false) .And(_ => ADifferentMethodWithRandomArg(2)) .And(_ => ADifferentMethodWith(_prop2)) .When(_ => WhenMethodUsing__ExampleString__()) .And(_ => AndIUseA(multiWordHeading)) .Then(_ => ThenAllIsGood()) .WithExamples(new ExampleTable("Prop 1", "Prop2", "Prop 3", "Multi word heading") { { 1, "foo", ExecutionOrder.ConsecutiveAssertion, "" }, { 2, "bar", ExecutionOrder.Initialize, "val2" } }) .BDDfy(); var textReporter = new TextReporter(); textReporter.Process(story); Approvals.Verify(textReporter.ToString()); }