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

/src/Ninject.Tests/Unit/PipelineTests.cs

https://github.com/developingchris/ninject
C# | 65 lines | 55 code | 10 blank | 0 comment | 1 complexity | c5d95d57ae8573da6571e3263c19bdf0 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Moq;
  5. using Ninject.Activation;
  6. using Ninject.Activation.Strategies;
  7. using Xunit;
  8. using Xunit.Should;
  9. namespace Ninject.Tests.Unit.PipelineTests
  10. {
  11. public class PipelineContext
  12. {
  13. protected readonly List<Mock<IActivationStrategy>> strategyMocks = new List<Mock<IActivationStrategy>>();
  14. protected readonly Pipeline pipeline;
  15. public PipelineContext()
  16. {
  17. strategyMocks.Add(new Mock<IActivationStrategy>());
  18. strategyMocks.Add(new Mock<IActivationStrategy>());
  19. strategyMocks.Add(new Mock<IActivationStrategy>());
  20. pipeline = new Pipeline(strategyMocks.Select(mock => mock.Object));
  21. }
  22. }
  23. public class WhenPipelineIsCreated : PipelineContext
  24. {
  25. [Fact]
  26. public void HasListOfStrategies()
  27. {
  28. pipeline.Strategies.ShouldNotBeNull();
  29. for (int idx = 0; idx < strategyMocks.Count; idx++)
  30. pipeline.Strategies[idx].ShouldBeSameAs(strategyMocks[idx].Object);
  31. }
  32. }
  33. public class WhenActivateIsCalled : PipelineContext
  34. {
  35. [Fact]
  36. public void CallsActivateOnStrategies()
  37. {
  38. var contextMock = new Mock<IContext>();
  39. var reference = new InstanceReference();
  40. pipeline.Activate(contextMock.Object, reference);
  41. strategyMocks.Map(mock => mock.Verify(x => x.Activate(contextMock.Object, reference)));
  42. }
  43. }
  44. public class WhenDeactivateIsCalled : PipelineContext
  45. {
  46. [Fact]
  47. public void CallsDeactivateOnStrategies()
  48. {
  49. var contextMock = new Mock<IContext>();
  50. var reference = new InstanceReference();
  51. pipeline.Deactivate(contextMock.Object, reference);
  52. strategyMocks.Map(mock => mock.Verify(x => x.Deactivate(contextMock.Object, reference)));
  53. }
  54. }
  55. }