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

/src/Ninject.Tests/Unit/ActivationBlockTests.cs

https://github.com/developingchris/ninject
C# | 45 lines | 41 code | 4 blank | 0 comment | 0 complexity | 40c68bf7a63a52c374e4d3822a38ee74 MD5 | raw file
  1. using System;
  2. using Moq;
  3. using Ninject.Activation;
  4. using Ninject.Activation.Blocks;
  5. using Ninject.Syntax;
  6. using Xunit;
  7. namespace Ninject.Tests.Unit.ActivationBlockTests
  8. {
  9. public class ActivationBlockContext
  10. {
  11. protected readonly ActivationBlock block;
  12. protected readonly Mock<IResolutionRoot> parentMock;
  13. protected readonly Mock<IRequest> requestMock;
  14. public ActivationBlockContext()
  15. {
  16. parentMock = new Mock<IResolutionRoot>();
  17. requestMock = new Mock<IRequest>();
  18. block = new ActivationBlock(parentMock.Object);
  19. }
  20. }
  21. public class WhenCanResolveIsCalled : ActivationBlockContext
  22. {
  23. [Fact]
  24. public void DelegatesCallToParent()
  25. {
  26. IRequest request = requestMock.Object;
  27. block.CanResolve(request);
  28. parentMock.Verify(x => x.CanResolve(request));
  29. }
  30. }
  31. public class WhenResolveIsCalledWithRequestObject : ActivationBlockContext
  32. {
  33. [Fact]
  34. public void DelegatesCallToParent()
  35. {
  36. IRequest request = requestMock.Object;
  37. block.Resolve(request);
  38. parentMock.Verify(x => x.Resolve(request));
  39. }
  40. }
  41. }