public void GetService_NewActionSpecifiedCalledTwice_CallsNewActionOnce() { Setup(); // Arrange var serviceCreationCalls = 0; var newServiceCallbacks = 0; var fakeService = A.Fake <IDummyServiceInterface>(); var hubServiceHost = new HubServiceHost <IDummyServiceInterface>( _logger, () => { serviceCreationCalls++; return(fakeService); }, "IDummyServiceInterface"); // Act hubServiceHost.GetService(DummyConnectionId, s => { newServiceCallbacks++; }); var service = hubServiceHost.GetService(DummyConnectionId, s => { newServiceCallbacks++; }); // Assert Assert.IsTrue(fakeService == service); Assert.AreEqual(1, serviceCreationCalls); Assert.AreEqual(1, newServiceCallbacks); hubServiceHost.DisposeService(DummyConnectionId); }
public void DisposeService_NoServiceInstanceCreated_DoesNotCallDispose() { Setup(); // Arrange var disposableService = A.Fake <IDummyDisposableServiceInterface>(); var hubServiceHost = new HubServiceHost <IDummyDisposableServiceInterface>(_logger, () => disposableService, "IDummyDisposableServiceInterface"); // Act hubServiceHost.DisposeService(DummyConnectionId); // Assert A.CallTo(() => disposableService.Dispose()).MustNotHaveHappened(); }
public void DisposeService_DisposableService_CallsDisposeOnService() { Setup(); // Arrange var disposableService = A.Fake <IDummyDisposableServiceInterface>(); var hubServiceHost = new HubServiceHost <IDummyDisposableServiceInterface>(_logger, () => disposableService, "IDummyDisposableServiceInterface"); // Act hubServiceHost.GetService(DummyConnectionId); hubServiceHost.DisposeService(DummyConnectionId); // Assert A.CallTo(() => disposableService.Dispose()).MustHaveHappened(Repeated.Exactly.Once); }
public void DisposeService_DisposeServiceCallbackSpecified_CallbackCalled() { Setup(); // Arrange var endServiceCount = 0; var service = A.Fake <IDummyServiceInterface>(); var hubServiceHost = new HubServiceHost <IDummyServiceInterface>(_logger, () => service, "IDummyServiceInterface"); // Act hubServiceHost.GetService(DummyConnectionId, null, s => { endServiceCount++; }); hubServiceHost.DisposeService(DummyConnectionId); // Assert Assert.AreEqual(1, endServiceCount); }
public void GetService_FirstTimeCalled_ReturnsNewService() { Setup(); // Arrange var serviceCreationCalls = 0; var fakeService = A.Fake <IDummyServiceInterface>(); var hubServiceHost = new HubServiceHost <IDummyServiceInterface>( _logger, () => { serviceCreationCalls++; return(fakeService); }, "IDummyServiceInterface"); // Act var service = hubServiceHost.GetService(DummyConnectionId); // Assert Assert.AreSame(fakeService, service); Assert.AreEqual(1, serviceCreationCalls); hubServiceHost.DisposeService(DummyConnectionId); }
public void GetService_SecondTimeCalled_ReturnsOriginalInstance() { Setup(); // Arrange var serviceCreationCalls = 0; var fakeService = A.Fake <IDummyServiceInterface>(); var hubServiceHost = new HubServiceHost <IDummyServiceInterface>( _logger, () => { serviceCreationCalls++; return(fakeService); }, "IDummyServiceInterface"); // Act hubServiceHost.GetService(DummyConnectionId); var service = hubServiceHost.GetService(DummyConnectionId); // Assert Assert.IsTrue(fakeService == service); Assert.AreEqual(1, serviceCreationCalls); hubServiceHost.DisposeService(DummyConnectionId); }