PageRenderTime 53ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 1ms

/Tests/TechTalk.SpecFlow.IntegrationTests/StepDefinitions/GeneratorSteps.cs

http://github.com/techtalk/SpecFlow
C# | 45 lines | 41 code | 4 blank | 0 comment | 0 complexity | dbda9648d10b63ac80c5f33996cbf962 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0
  1. using System;
  2. using System.Linq;
  3. using FluentAssertions;
  4. using TechTalk.SpecFlow.Specs.Drivers;
  5. using TechTalk.SpecFlow.Specs.Drivers.MsBuild;
  6. namespace TechTalk.SpecFlow.IntegrationTests.StepDefinitions
  7. {
  8. [Binding]
  9. public class GeneratorSteps : Steps
  10. {
  11. private readonly InputProjectDriver inputProjectDriver;
  12. private readonly ProjectGenerator projectGenerator;
  13. private readonly ProjectCompiler projectCompiler;
  14. private Exception compilationError;
  15. public GeneratorSteps(InputProjectDriver inputProjectDriver, ProjectGenerator projectGenerator, ProjectCompiler projectCompiler)
  16. {
  17. this.inputProjectDriver = inputProjectDriver;
  18. this.projectCompiler = projectCompiler;
  19. this.projectGenerator = projectGenerator;
  20. }
  21. [When(@"the feature files in the project are generated")]
  22. public void WhenTheFeatureFilesInTheProjectAreGenerated()
  23. {
  24. var project = projectGenerator.GenerateProject(inputProjectDriver);
  25. try
  26. {
  27. compilationError = null;
  28. projectCompiler.Compile(project, "UpdateFeatureFilesInProject");
  29. }
  30. catch (Exception ex)
  31. {
  32. compilationError = ex;
  33. }
  34. }
  35. [Then(@"no generation error is reported")]
  36. public void ThenNoGenerationErrorIsReported()
  37. {
  38. compilationError.Should().BeNull();
  39. }
  40. }
  41. }