public async void HandleTypeAsync_AllSeries([Values(true, false)] bool useCache) { // Arrange var mockProvider = new MockProvider(); var seriesInfoProvider = mockProvider.GetSeriesInfoProviderFake(); var seriesQuery = Substitute.For<IDicomQuery<SeriesInfo>>(); seriesInfoProvider.GetSeries().Returns(seriesQuery); var seriesTypeHandler = new SeriesTypeHandler(seriesInfoProvider, mockProvider.GetStudyInfoProviderFake()); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "series", UseCache = useCache }; // Act await seriesTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()); // Assert if (useCache) { Assert.That(() => seriesQuery.Received(1).LoadFromCache(), Throws.Nothing); } Assert.That(() => seriesInfoProvider.Received(1).GetSeries(), Throws.Nothing); }
public void CreateDicomServer_NullDownloadAction_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var serverFactory = new DicomServerFactory(mockProvider.GetSettingsProviderFake(), mockProvider.GetLoggerFake()); // Act + Assert Assert.That(() => serverFactory.CreateDicomServer(null), Throws.TypeOf<ArgumentNullException>()); }
public void CreateDicomFindRequest_NullResponseCallback_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var dicomRequestFactory = new DicomRequestFactory(mockProvider.GetSettingsProviderFake()); // Act + Assert Assert.That(() => dicomRequestFactory.CreateDicomFindRequest<TestInfo>(mockProvider.GetDicomWhereCollectionFake(), null), Throws.TypeOf<ArgumentNullException>()); }
public void CreateDicomMoveRequest_NullInfoIdentifier_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var dicomRequestFactory = new DicomRequestFactory(mockProvider.GetSettingsProviderFake()); // Act + Assert Assert.That(() => dicomRequestFactory.CreateDicomMoveRequest(null), Throws.TypeOf<ArgumentNullException>()); }
public void AddFindRequest_NullDicomRequest_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var dicomClient = new DicomClient<TestInfo>(mockProvider.GetSettingsProviderFake(), mockProvider.GetRequestAdapterFake()); // Act + Assert Assert.That(() => dicomClient.AddFindRequest(null), Throws.InstanceOf<ArgumentNullException>()); }
public void CreateDicomServer_CreatesNewInstanceOfDicomServer() { // Arrange var mockProvider = new MockProvider(); var serverFactory = new DicomServerFactory(mockProvider.GetSettingsProviderFake(), mockProvider.GetLoggerFake()); // Act var server1 = serverFactory.CreateDicomServer((a, b) => new MemoryStream()); var server2 = serverFactory.CreateDicomServer((a, b) => new MemoryStream()); // Assert Assert.That(server1, Is.Not.SameAs(server2)); }
public void CreateDicomClient_CreatesNewInstanceOfDicomClient() { // Arrange var mockProvider = new MockProvider(); var clientFactory = new DicomClientFactory<TestInfo>(mockProvider.GetSettingsProviderFake(), mockProvider.GetRequestAdapterFake()); // Act var client1 = clientFactory.CreateDicomClient(); var client2 = clientFactory.CreateDicomClient(); // Assert Assert.That(client1, Is.Not.SameAs(client2)); }
public void AddMoveRequest_RequestAdapterIsCalled() { // Arrange var mockProvider = new MockProvider(); var requestAdapter = mockProvider.GetRequestAdapterFake(); var dicomClient = new DicomClient<TestInfo>(mockProvider.GetSettingsProviderFake(), requestAdapter); var dicomMoveRequest = Substitute.For<IDicomMoveRequest>(); // Act dicomClient.AddMoveRequest(dicomMoveRequest); // Assert Assert.That(() => requestAdapter.Received(1).CreateMoveDicomRequest(dicomMoveRequest), Throws.Nothing); }
public void AddFindRequest_RequestAdapterIsCalled() { // Arrange var mockProvider = new MockProvider(); var fellowOakMockProvider = new FellowOakMockProvider(); var requestAdapter = mockProvider.GetRequestAdapterFake(); var dicomClient = new DicomClient<TestInfo>(mockProvider.GetSettingsProviderFake(), requestAdapter); var dicomFindRequest = new FellowOakDicomFindRequest<TestInfo>(mockProvider.GetDicomMappingFake(),fellowOakMockProvider.GetDicomTagAdapterFake(), mockProvider.GetDicomInfoBuilderFake(), mockProvider.GetGeneralizedInfoProviderFake(), fellowOakMockProvider.GetDicomSopClassUidProviderFake(), c=> {},mockProvider.GetDicomWhereCollectionFake()); // Act dicomClient.AddFindRequest(dicomFindRequest); // Assert Assert.That(() => requestAdapter.Received(1).CreateFindDicomRequest(dicomFindRequest), Throws.Nothing); }
public void CreateDicomFindRequest_CorrectRequestIsCreated() { // Arrange var mockProvider = new MockProvider(); var dicomRequestFactory = new DicomRequestFactory(mockProvider.GetSettingsProviderFake()); var dicomWhereCollection = mockProvider.GetDicomWhereCollectionFake(); Action<TestInfo> responseCallback = item => {}; // Act var request = dicomRequestFactory.CreateDicomFindRequest(dicomWhereCollection, responseCallback); // Assert Assert.That(request.ResponseCallback, Is.SameAs(responseCallback)); Assert.That(request.DicomWhereCollection, Is.SameAs(dicomWhereCollection)); }
public void HandleTypeAsync_InvalidType_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var studyTypeHandler = new StudyTypeHandler(mockProvider.GetStudyInfoProviderFake(), mockProvider.GetPatientInfoProviderFake()); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "UnknownType" }; // Act var exception = studyTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()).Exception; // Assert Assert.That(exception.InnerExceptions.First(), Is.TypeOf<ArgumentException>()); }
public async void HandleTypeAsync_SingleStudy([Values(true, false)] bool useCache) { // Arrange var mockProvider = new MockProvider(); var studyInfoProvider = mockProvider.GetStudyInfoProviderFake(); var studyTypeHandler = new StudyTypeHandler(studyInfoProvider, mockProvider.GetPatientInfoProviderFake()); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "study", Identifier = "123", UseCache = useCache }; // Act await studyTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()); // Assert Assert.That(() => studyInfoProvider.Received(1).GetStudyByIDAsync(new InfoIdentifier("123"), useCache), Throws.Nothing); }
public async void HandleTypeAsync_SingleStudy_Download() { // Arrange var mockProvider = new MockProvider(); var studyInfoProvider = mockProvider.GetStudyInfoProviderFake(); var studyTypeHandler = new StudyTypeHandler(studyInfoProvider, mockProvider.GetPatientInfoProviderFake()); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "study", Identifier = "123", Download = true }; // Act await studyTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()); // Assert Assert.That(() => studyInfoProvider.Received(1).GetStudyByIDAsync(new InfoIdentifier("123")), Throws.Nothing); Assert.That(() => studyInfoProvider.Received(1).DownloadImagesAsync(Arg.Any<StudyInfo>()), Throws.Nothing); }
public async void HandleTypeAsync_ForPatient([Values(true, false)] bool useCache) { // Arrange var mockProvider = new MockProvider(); var studyInfoProvider = mockProvider.GetStudyInfoProviderFake(); var studyQuery = Substitute.For<IDicomQuery<StudyInfo>>(); studyInfoProvider.GetStudiesForPatient(Arg.Any<PatientInfo>()).Returns(studyQuery); var patientInfoProvider = mockProvider.GetPatientInfoProviderFake(); var studyTypeHandler = new StudyTypeHandler(studyInfoProvider, patientInfoProvider); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "study", ParentIdentifier = "123", UseCache = useCache }; // Act await studyTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()); // Assert if (useCache) { Assert.That(() => studyQuery.Received(1).LoadFromCache(), Throws.Nothing); } Assert.That(() => patientInfoProvider.Received(1).GetPatientByBirthNumberAsync("123", useCache), Throws.Nothing); Assert.That(() => studyInfoProvider.Received(1).GetStudiesForPatient(Arg.Any<PatientInfo>()), Throws.Nothing); }
public void CreateDicomMoveRequest_CorrectRequestIsCreated() { // Arrange var mockProvider = new MockProvider(); var settingsProvider = mockProvider.GetSettingsProviderFake(); settingsProvider.DestinationApplicationEntity.Returns("DestinationAE"); var identifier = new InfoIdentifier("identifier"); var dicomRequestFactory = new DicomRequestFactory(settingsProvider); // Act var request = dicomRequestFactory.CreateDicomMoveRequest(identifier); // Assert Assert.That(request.DestinationAE, Is.EqualTo("DestinationAE")); Assert.That(request.Identifier, Is.SameAs(identifier)); }
public void SendAsync_NullServerIP_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var dicomClient = new DicomClient<TestInfo>(mockProvider.GetSettingsProviderFake(), mockProvider.GetRequestAdapterFake()); // Act + Assert Assert.That(() => dicomClient.SendAsync(null, 0, "callingAE", "calledAE").Exception.InnerExceptions[0], Is.InstanceOf<ArgumentNullException>()); }
private InputArguments GetDefaultInputArguments() { var mockProvider = new MockProvider(); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), new BirthNumberParser()) { CalledApplicationEntity = "calledAE", CallingApplicationEntity = "callingAE", RemoteAddress = "remoteAddr", RemotePort = 666, DestinationApplicationEntity = "destinationAE", LocalAddress = "localAddr", LocalPort = 666 }; return inputArguments; }