public MqController(IQueueManagerFactory factory) { if (factory == null) { throw new ArgumentNullException(nameof(factory)); } _mqFactory = factory; }
public void OverrideChangesFactory() { IQueueManagerFactory newFactory = mocks.Create <IQueueManagerFactory>(MockBehavior.Strict).Object; IQueueManager newManager = mocks.Create <IQueueManager>(MockBehavior.Strict).Object; Mock.Get(newFactory).Setup(_newFactory => _newFactory.Create(null, null, null)).Returns(newManager).Verifiable(); IntegrationQueueManagerFactory.OverrideFactory(newFactory); try { object instance = IntegrationQueueManagerFactory.CreateManager(null, null, null); Assert.AreSame(newManager, instance); } finally { // Clean up - otherwise the static instance will be corrected IntegrationQueueManagerFactory.ResetFactory(); } mocks.VerifyAll(); }
public void OverrideChangesFactory() { IQueueManagerFactory newFactory = mocks.StrictMock <IQueueManagerFactory>(); IQueueManager newManager = mocks.StrictMock <IQueueManager>(); Expect.Call(newFactory.Create(null, null, null)).Return(newManager); mocks.ReplayAll(); IntegrationQueueManagerFactory.OverrideFactory(newFactory); try { object instance = IntegrationQueueManagerFactory.CreateManager(null, null, null); Assert.AreSame(newManager, instance); } finally { // Clean up - otherwise the static instance will be corrected IntegrationQueueManagerFactory.ResetFactory(); } mocks.VerifyAll(); }
/// <summary> /// Changes back to the default factory/ /// </summary> public static void ResetFactory() { managerFactory = new IntegrationQueueManagerFactory(); }
/// <summary> /// Changes the default manager factory. /// </summary> /// <param name="newFactory">The new factory to use.</param> public static void OverrideFactory(IQueueManagerFactory newFactory) { managerFactory = newFactory; }