예제 #1
0
        public void Constructor_NullDownloadAction_ThrowsException()
        {
            // Arrange
            var mockProvider = new MockProvider();

            // Act + Assert
            Assert.That(() => new DicomStore(new MemoryStream(), null, mockProvider.GetLoggerFake()), Throws.InstanceOf<ArgumentNullException>());
        }
        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>());
        }
예제 #3
0
 public void OnReceiveAssociationRequest_NullAssociation_ThrowsException()
 {
     // Arrange
     var mockProvider = new MockProvider();
     var dicomStore = GetDicomStore(mockProvider.GetLoggerFake());
    
     // Act + Assert
     Assert.That(() => dicomStore.OnReceiveAssociationRequest(null), Throws.TypeOf<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));
        }
예제 #5
0
        public void OnReceiveAssociationReleaseRequest_LogsInfo()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var loggerFake = mockProvider.GetLoggerFake();
            var dicomStore = GetDicomStore(loggerFake);

            // Act
            dicomStore.OnReceiveAssociationReleaseRequest();

            // Assert
            Assert.That(() => loggerFake.Received().Info(Arg.Any<string>()), Throws.Nothing);
        }
예제 #6
0
        public void OnReceiveAbort_LogsInfo()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var loggerFake = mockProvider.GetLoggerFake();
            var dicomStore = GetDicomStore(loggerFake);

            // Act
            dicomStore.OnReceiveAbort(DicomAbortSource.Unknown, DicomAbortReason.NotSpecified);

            // Assert
            Assert.That(() => loggerFake.Received().Info(Arg.Any<string>()), Throws.Nothing);
        }
예제 #7
0
        public void OnConnectionClosed_ExceptionThrown_LogsError()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var loggerFake = mockProvider.GetLoggerFake();
            var dicomStore = GetDicomStore(loggerFake);
            var exception = new Exception("Test");

            // Act
            dicomStore.OnConnectionClosed(exception);

            // Assert
            Assert.That(() => loggerFake.Received().Error(Arg.Any<string>(), exception), Throws.Nothing);
        }
예제 #8
0
        public void OnCEchoRequest_ReturnsCEchoResponse()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var dicomStore = GetDicomStore(mockProvider.GetLoggerFake());

            // Act
            var response = dicomStore.OnCEchoRequest(new DicomCEchoRequest());

            // Assert
            Assert.That(response.Status, Is.EqualTo(DicomStatus.Success));
        }
예제 #9
0
        public void OnCStoreRequest_SavesFileToStream_ReturnsCStoreResponse()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var stream = File.Create("test.dcm");
            var action = new Func<InfoIdentifier, InfoIdentifier, Stream>((a, b) => stream);

            var dicomStore = new DicomStore(new MemoryStream(), action, mockProvider.GetLoggerFake());
            
            // Act
            var response = dicomStore.OnCStoreRequest(new DicomCStoreRequest("Assets/testImage.dcm"));
            
            // Assert
            Assert.That(response.Status, Is.EqualTo(DicomStatus.Success));
            Assert.That(File.Exists("test.dcm"));
            Assert.That(new FileInfo("test.dcm").Length, Is.GreaterThan(0));
        }
예제 #10
0
        public void OnConnectionClosed_WithoutException_LogsInfo()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var loggerFake = mockProvider.GetLoggerFake();
            var dicomStore = GetDicomStore(loggerFake);
            
            // Act
            dicomStore.OnConnectionClosed(null);

            // Assert
            Assert.That(() => loggerFake.Received().Info(Arg.Any<string>()), Throws.Nothing);
        }