PageRenderTime 56ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/Tests/GeneratorTests/TestHeaderWriterTests.cs

http://github.com/techtalk/SpecFlow
C# | 98 lines | 89 code | 9 blank | 0 comment | 0 complexity | 776300f25637db66454549bdd2392443 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0
  1. using System;
  2. using System.Linq;
  3. using NUnit.Framework;
  4. using TechTalk.SpecFlow.Generator;
  5. using FluentAssertions;
  6. namespace TechTalk.SpecFlow.GeneratorTests
  7. {
  8. [TestFixture]
  9. public class TestHeaderWriterTests : TestGeneratorTestsBase
  10. {
  11. private TestHeaderWriter CreateTestHeaderWriter()
  12. {
  13. return new TestHeaderWriter();
  14. }
  15. [Test]
  16. public void Should_return_version_from_a_cs_file_with_specific_generator_version()
  17. {
  18. var testHeaderWriter = CreateTestHeaderWriter();
  19. var result = testHeaderWriter.DetectGeneratedTestVersion(@"// ------------------------------------------------------------------------------
  20. // <auto-generated>
  21. // This code was generated by SpecFlow (http://www.specflow.org/).
  22. // SpecFlow Version:1.4.0.0
  23. // SpecFlow Generator Version:1.3.0.0
  24. // Runtime Version:4.0.30319.225
  25. //
  26. // Changes to this file may cause incorrect behavior and will be lost if
  27. // the code is regenerated.
  28. // </auto-generated>
  29. // ------------------------------------------------------------------------------
  30. #region Designer generated code
  31. namespace Bowling.Specflow
  32. {
  33. }
  34. #endregion
  35. ");
  36. result.Should().NotBeNull();
  37. result.ToString().Should().Be("1.3.0.0");
  38. }
  39. [Test]
  40. public void Should_return_version_from_a_vb_file_with_specific_generator_version()
  41. {
  42. var testHeaderWriter = CreateTestHeaderWriter();
  43. var result = testHeaderWriter.DetectGeneratedTestVersion(@"'------------------------------------------------------------------------------
  44. ' <auto-generated>
  45. ' This code was generated by SpecFlow (http://www.specflow.org/).
  46. ' SpecFlow Version:1.3.2.0
  47. ' SpecFlow Generator Version:1.4.0.0
  48. ' Runtime Version:2.0.50727.4927
  49. '
  50. ' Changes to this file may cause incorrect behavior and will be lost if
  51. ' the code is regenerated.
  52. ' </auto-generated>
  53. '------------------------------------------------------------------------------
  54. ");
  55. result.Should().NotBeNull();
  56. result.ToString().Should().Be("1.4.0.0");
  57. }
  58. [Test]
  59. public void Should_return_version_from_a_cs_file_with_specflow_version()
  60. {
  61. var testHeaderWriter = CreateTestHeaderWriter();
  62. var result = testHeaderWriter.DetectGeneratedTestVersion(@"// ------------------------------------------------------------------------------
  63. // <auto-generated>
  64. // This code was generated by SpecFlow (http://www.specflow.org/).
  65. // SpecFlow Version:1.5.0.0
  66. // Runtime Version:4.0.30319.225
  67. //
  68. // Changes to this file may cause incorrect behavior and will be lost if
  69. // the code is regenerated.
  70. // </auto-generated>
  71. // ------------------------------------------------------------------------------
  72. #region Designer generated code
  73. namespace Bowling.Specflow
  74. {
  75. }
  76. #endregion
  77. ");
  78. result.Should().NotBeNull();
  79. result.ToString().Should().Be("1.5.0.0");
  80. }
  81. [Test]
  82. public void Should_return_null_from_other_files()
  83. {
  84. var testHeaderWriter = CreateTestHeaderWriter();
  85. var result = testHeaderWriter.DetectGeneratedTestVersion(@"not-a-generated-file");
  86. result.Should().Be(null);
  87. }
  88. }
  89. }