PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/Tests/GeneratorTests/TestGeneratorErrorsTests.cs

http://github.com/techtalk/SpecFlow
C# | 73 lines | 63 code | 10 blank | 0 comment | 0 complexity | f20a28f874217166d1e431a37b2ee232 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using FluentAssertions;
  5. using NUnit.Framework;
  6. using TechTalk.SpecFlow.Generator.Interfaces;
  7. namespace TechTalk.SpecFlow.GeneratorTests
  8. {
  9. [TestFixture]
  10. public class TestGeneratorErrorsTests : TestGeneratorTestsBase
  11. {
  12. [Test]
  13. public void Should_not_succeed_when_invalid_feature_file()
  14. {
  15. var testGenerator = CreateTestGenerator(net35CSProjectSettings);
  16. var result = testGenerator.GenerateTestFile(CreateSimpleInvalidFeatureFileInput(), defaultSettings);
  17. result.Success.Should().Be(false);
  18. }
  19. [Test]
  20. public void Should_report_error_when_invalid_feature_file()
  21. {
  22. var testGenerator = CreateTestGenerator(net35CSProjectSettings);
  23. var result = testGenerator.GenerateTestFile(CreateSimpleInvalidFeatureFileInput(), defaultSettings);
  24. result.Errors.Should().NotBeNull();
  25. result.Errors.Should().NotBeEmpty();
  26. }
  27. [Test]
  28. public void Should_report_multiple_errors_when_feature_file_contains_such()
  29. {
  30. var testGenerator = CreateTestGenerator(net35CSProjectSettings);
  31. var result = testGenerator.GenerateTestFile(CreateSimpleFeatureFileInput(@"
  32. Feature: Addition
  33. Scenario: Add two numbers
  34. Given I have entered 50 into the calculator
  35. AndXXX the keyword is misspelled
  36. AndYYY this keyword is also misspelled"), defaultSettings);
  37. result.Errors.Should().NotBeNull();
  38. result.Errors.Count().Should().Be(2);
  39. }
  40. [Test]
  41. public void Should_report_error_when_unsupported_project_language()
  42. {
  43. ProjectSettings invalidLangSettings = new ProjectSettings { ProjectFolder = Path.GetTempPath(), ProjectPlatformSettings = new ProjectPlatformSettings { Language = "InvalidLang" } };
  44. var testGenerator = CreateTestGenerator(invalidLangSettings);
  45. var result = testGenerator.GenerateTestFile(CreateSimpleValidFeatureFileInput(), defaultSettings);
  46. result.Errors.Should().NotBeNull();
  47. result.Errors.Should().NotBeEmpty();
  48. }
  49. [Test]
  50. public void Should_report_error_when_the_scenario_has_no_title()
  51. {
  52. var testGenerator = CreateTestGenerator(net35CSProjectSettings);
  53. var result = testGenerator.GenerateTestFile(CreateSimpleFeatureFileInput(@"
  54. Feature: Addition
  55. Scenario:
  56. Given I have entered 50 into the calculator"), defaultSettings);
  57. result.Errors.Should().NotBeNull();
  58. result.Errors.Count().Should().Be(1);
  59. result.Errors.First().Message.Should().ContainEquivalentOf("scenario");
  60. result.Errors.First().Message.Should().ContainEquivalentOf("title");
  61. }
  62. }
  63. }