/src/Ninject.Tests/Unit/BindingActionStrategyTests.cs
https://github.com/developingchris/ninject · C# · 66 lines · 56 code · 10 blank · 0 comment · 0 complexity · 0f1856a6ec6610cc1ab2d727261bd71f MD5 · raw file
- using System;
- using Moq;
- using Ninject.Activation;
- using Ninject.Activation.Strategies;
- using Ninject.Planning.Bindings;
- using Xunit;
- using Xunit.Should;
- namespace Ninject.Tests.Unit.BindingActionStrategyTests
- {
- public class BindingActionStrategyContext
- {
- protected readonly BindingActionStrategy strategy;
- protected readonly Mock<IContext> contextMock;
- protected readonly Mock<IBinding> bindingMock;
- public BindingActionStrategyContext()
- {
- contextMock = new Mock<IContext>();
- bindingMock = new Mock<IBinding>();
- strategy = new BindingActionStrategy();
- }
- }
- public class WhenActivateIsCalled : BindingActionStrategyContext
- {
- [Fact]
- public void StrategyInvokesActivationActionsDefinedInBinding()
- {
- bool action1WasCalled = false;
- bool action2WasCalled = false;
- Action<object> action1 = c => action1WasCalled = true;
- Action<object> action2 = c => action2WasCalled = true;
- var actions = new[] { action1, action2 };
- contextMock.SetupGet(x => x.Binding).Returns(bindingMock.Object);
- bindingMock.SetupGet(x => x.ActivationActions).Returns(actions);
- strategy.Activate(contextMock.Object, new InstanceReference());
- action1WasCalled.ShouldBeTrue();
- action2WasCalled.ShouldBeTrue();
- }
- }
- public class WhenDeactivateIsCalled : BindingActionStrategyContext
- {
- [Fact]
- public void StrategyInvokesDeactivationActionsDefinedInBinding()
- {
- bool action1WasCalled = false;
- bool action2WasCalled = false;
- Action<object> action1 = c => action1WasCalled = true;
- Action<object> action2 = c => action2WasCalled = true;
- var actions = new[] { action1, action2 };
- contextMock.SetupGet(x => x.Binding).Returns(bindingMock.Object);
- bindingMock.SetupGet(x => x.DeactivationActions).Returns(actions);
- strategy.Deactivate(contextMock.Object, new InstanceReference());
- action1WasCalled.ShouldBeTrue();
- action2WasCalled.ShouldBeTrue();
- }
- }
- }