コード例 #1
0
        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>());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public async void HandleTypeAsync_AllStudies([Values(true, false)] bool useCache)
        {
            // Arrange
            var mockProvider = new MockProvider();
            var studyInfoProvider = mockProvider.GetStudyInfoProviderFake();
            var query = Substitute.For<IDicomQuery<StudyInfo>>();

            studyInfoProvider.GetStudies().Returns(query);
            var studyTypeHandler = new StudyTypeHandler(studyInfoProvider, mockProvider.GetPatientInfoProviderFake());
            var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake())
            {
                Type = "study",
                UseCache = useCache
            };

            // Act
            await studyTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter());

            // Assert
            if (useCache)
            {
                Assert.That(() => query.Received(1).LoadFromCache(), Throws.Nothing);
            }
            Assert.That(() => studyInfoProvider.Received(1).GetStudies(), Throws.Nothing);
        }