public void CanCreateObjectWithInitData() { var mocker = new AutoMocker(); var service1 = mocker.Get <IService>(); var provider = mocker.GetMock <IServiceProvider>(); var autoDIProvider = provider.As <IAutoDISerivceProvider>(); autoDIProvider.Setup(x => x.GetService(typeof(IService), It.IsAny <object[]>())).Returns(service1).Verifiable(); var initData = new InitData(); try { DI.Init(typeof(IService).Assembly, builder => builder.WithProvider(provider.Object)); var sut = new ClassWithInitData(initData); Assert.AreEqual(service1, sut.Service); Assert.AreEqual(initData, sut.Data); mocker.VerifyAll(); } finally { DI.Dispose(typeof(IService).Assembly); } }
public void WhenDependencyResolverIsSpecifiedItInstance() { var mocker = new AutoMocker(); var service1 = mocker.Get <IService>(); var service2 = mocker.Get <IService2>(); var service3 = mocker.Get <IService3>(); var serviceProvider = mocker.GetMock <IServiceProvider>(); serviceProvider.Setup(x => x.GetService(typeof(IService))).Returns(service1).Verifiable(); serviceProvider.Setup(x => x.GetService(typeof(IService2))).Returns(service2).Verifiable(); serviceProvider.Setup(x => x.GetService(typeof(IService3))).Returns(service3).Verifiable(); DI.Dispose(typeof(ClassWithDependencies).Assembly); DI.Init(typeof(IService).Assembly, builder => { builder.WithProvider(serviceProvider.Object); }); var sut = new ClassWithDependencies(); Assert.AreEqual(service1, sut.Service); Assert.AreEqual(service2, sut.Service2); Assert.AreEqual(service3, sut.Service3); serviceProvider.Verify(); }
public void TryInitReturnsFalseOnSecondInvocation() { Assert.IsTrue(DI.TryInit(_testAssembly)); Assert.IsFalse(DI.TryInit(_testAssembly)); DI.Dispose(_testAssembly); Assert.IsTrue(DI.TryInit(_testAssembly)); Assert.IsFalse(DI.TryInit(_testAssembly)); }
protected virtual void Dispose(bool disposing) { if (!_disposed) { if (disposing) { DI.Dispose(); if (!TestSettings.IsGithubAction) { dockerStarter.Dispose(); } } _disposed = true; } }
public void CanInjectDependenciesIntoNestedTypes() { var mocker = new AutoMocker(); var service1 = mocker.Get <IService>(); var provider = mocker.GetMock <IServiceProvider>(); var autoDIProvider = provider.As <IAutoDISerivceProvider>(); autoDIProvider.Setup(x => x.GetService(typeof(IService), It.IsAny <object[]>())).Returns(service1).Verifiable(); try { DI.Init(typeof(IService).Assembly, builder => builder.WithProvider(provider.Object)); var sut = new ClassWtihNestedType.NestedType(); Assert.AreEqual(service1, sut.Service); mocker.VerifyAll(); } finally { DI.Dispose(typeof(IService).Assembly); } }
public void CanFillDependenciesBeforeBaseConstructorInvocation() { var mocker = new AutoMocker(); var service1 = mocker.Get <IService>(); var provider = mocker.GetMock <IServiceProvider>(); var autoDIProvider = provider.As <IAutoDISerivceProvider>(); autoDIProvider.Setup(x => x.GetService(typeof(IService), It.IsAny <object[]>())).Returns(service1).Verifiable(); try { DI.Init(typeof(IService).Assembly, builder => builder.WithProvider(provider.Object)); var sut = new ClassWithExplicitBaseDependency(); Assert.AreEqual(service1, sut.Service); mocker.VerifyAll(); } finally { DI.Dispose(typeof(IService).Assembly); } }
public void DependencyWithLongParameter() { var mocker = new AutoMocker(); var service = mocker.Get <IService>(); var provider = mocker.GetMock <IServiceProvider>(); var autoDIProvider = provider.As <IAutoDISerivceProvider>(); autoDIProvider.Setup(x => x.GetService(typeof(IService), It.Is <object[]>(p => p.Length == 1 && p[0].Equals(long.MaxValue)))).Returns(service).Verifiable(); try { DI.Init(typeof(IService).Assembly, builder => builder.WithProvider(provider.Object)); var sut = new ClassWithLongParam(); Assert.AreEqual(service, sut.Service); mocker.VerifyAll(); } finally { DI.Dispose(typeof(IService).Assembly); } }
public static void Cleanup() { DI.Dispose(_testAssembly); }
public void Cleanup() { DI.Dispose(_mainAssembly); }
public void TestCleanup() { DI.Dispose(_testAssembly); }
public void TestCleanup() { DI.Dispose(typeof(ClassWithDependencies).Assembly); }