/Source/Machine.Specifications.Tests/Machine.Testing/AutoMocking/AutoMockingContainer.cs
C# | 54 lines | 45 code | 9 blank | 0 comment | 0 complexity | f375f7fce1ca688880e5f6062b4a191f MD5 | raw file
Possible License(s): MIT, CC-BY-SA-3.0
- using System;
- using System.Collections.Generic;
-
- using Machine.Container;
- using Machine.Container.Model;
- using Machine.Container.Services;
- using Machine.Container.Services.Impl;
-
- using Rhino.Mocks;
-
- namespace Machine.Testing.AutoMocking
- {
- [ObsoleteEx(Message = "Use FluentAssertions or Mocking library of choice directly", RemoveInVersion = "0.9", TreatAsErrorFromVersion = "0.8")]
- public class AutoMockingContainer : MachineContainer
- {
- private readonly MockingDependencyResolver _mockingDependencyResolver;
-
- public AutoMockingContainer(MockRepository mocks)
- : this(new MockingDependencyResolver(mocks))
- {
- }
-
- public AutoMockingContainer(MockingDependencyResolver mockingDependencyResolver)
- : base(new CompartmentalizedMachineContainer(new MockingDependencyResolverFactory(mockingDependencyResolver)))
- {
- _mockingDependencyResolver = mockingDependencyResolver;
- }
-
- public virtual TService Get<TService>()
- {
- return _mockingDependencyResolver.Get<TService>();
- }
- }
-
- [ObsoleteEx(Message = "Use FluentAssertions or Mocking library of choice directly", RemoveInVersion = "0.9", TreatAsErrorFromVersion = "0.8")]
- public class MockingDependencyResolverFactory : DefaultContainerInfrastructureFactory
- {
- private readonly MockingDependencyResolver _mockingDependencyResolver;
-
- public MockingDependencyResolverFactory(MockingDependencyResolver mockingDependencyResolver)
- {
- _mockingDependencyResolver = mockingDependencyResolver;
- }
-
- #region IContainerInfrastructureFactory Members
- public override IRootActivatorResolver CreateDependencyResolver()
- {
- IRootActivatorResolver resolver = base.CreateDependencyResolver();
- resolver.AddAfter(typeof(ActivatorStoreActivatorResolver), _mockingDependencyResolver);
- return resolver;
- }
- #endregion
- }
- }