/src/Ninject.Tests/Unit/InitializableStrategyTests.cs
C# | 53 lines | 45 code | 8 blank | 0 comment | 0 complexity | 4cd7381c856c224ef7a6eaee73555de6 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
- using System;
- using Moq;
- using Ninject.Activation;
- using Ninject.Activation.Strategies;
- using Xunit;
- using Xunit.Should;
- namespace Ninject.Tests.Unit.InitializableStrategyTests
- {
- public class InitializableStrategyContext
- {
- protected readonly InitializableStrategy strategy;
- protected readonly Mock<IContext> contextMock;
- public InitializableStrategyContext()
- {
- contextMock = new Mock<IContext>();
- strategy = new InitializableStrategy();
- }
- }
- public class WhenActivateIsCalled : InitializableStrategyContext
- {
- [Fact]
- public void StrategyInitializesInstanceIfItIsInitializable()
- {
- var instance = new InitializableObject();
- var reference = new InstanceReference { Instance = instance };
- strategy.Activate(contextMock.Object, reference);
- instance.WasInitialized.ShouldBeTrue();
- }
- [Fact]
- public void StrategyDoesNotAttemptToInitializeInstanceIfItIsNotInitializable()
- {
- var instance = new object();
- var reference = new InstanceReference { Instance = instance };
- strategy.Activate(contextMock.Object, reference);
- }
- }
- public class InitializableObject : IInitializable
- {
- public bool WasInitialized { get; set; }
- public void Initialize()
- {
- WasInitialized = true;
- }
- }
- }