PageRenderTime 59ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/Tests/GeneratorTests/TestGeneratorFactoryTests.cs

http://github.com/techtalk/SpecFlow
C# | 77 lines | 66 code | 10 blank | 1 comment | 0 complexity | 9061bca0a0974e63cbf19a01f7e600c1 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0
  1. using System;
  2. using System.Linq;
  3. using FluentAssertions;
  4. using NUnit.Framework;
  5. using TechTalk.SpecFlow.Generator;
  6. using TechTalk.SpecFlow.Generator.Interfaces;
  7. namespace TechTalk.SpecFlow.GeneratorTests
  8. {
  9. [TestFixture]
  10. public class TestGeneratorFactoryTests : TestGeneratorTestsBase
  11. {
  12. private TestGeneratorFactory factory;
  13. [SetUp]
  14. public override void Setup()
  15. {
  16. base.Setup();
  17. factory = new TestGeneratorFactory();
  18. }
  19. [Test]
  20. public void GetGeneratorVersion_should_return_a_version()
  21. {
  22. factory.GetGeneratorVersion().Should().NotBeNull();
  23. }
  24. [Test]
  25. public void Should_be_able_to_create_generator_with_default_config()
  26. {
  27. factory.CreateGenerator(net35CSProjectSettings).Should().NotBeNull();
  28. }
  29. private class DummyGenerator : ITestGenerator
  30. {
  31. public TestGeneratorResult GenerateTestFile(FeatureFileInput featureFileInput, GenerationSettings settings)
  32. {
  33. throw new NotImplementedException();
  34. }
  35. public Version DetectGeneratedTestVersion(FeatureFileInput featureFileInput)
  36. {
  37. throw new NotImplementedException();
  38. }
  39. public string GetTestFullPath(FeatureFileInput featureFileInput)
  40. {
  41. throw new NotImplementedException();
  42. }
  43. public void Dispose()
  44. {
  45. //nop;
  46. }
  47. }
  48. [Test]
  49. public void Should_create_custom_generator_when_configured_so()
  50. {
  51. var configurationHolder = new SpecFlowConfigurationHolder(string.Format(@"
  52. <specFlow>
  53. <generator>
  54. <dependencies>
  55. <register type=""{0}"" as=""{1}""/>
  56. </dependencies>
  57. </generator>
  58. </specFlow>",
  59. typeof(DummyGenerator).AssemblyQualifiedName,
  60. typeof(ITestGenerator).AssemblyQualifiedName));
  61. var projectSettings = net35CSProjectSettings;
  62. projectSettings.ConfigurationHolder = configurationHolder;
  63. var generator = factory.CreateGenerator(projectSettings);
  64. generator.Should().BeOfType<DummyGenerator>();
  65. }
  66. }
  67. }