public void SetUp()
        {
            var container = new WindsorContainer().Install(new CommonInstaller());
            mSeriesInfoProvider = container.Resolve<ISeriesInfoProvider>();
            var studyInfoProvider = container.Resolve<IStudyInfoProvider>();

            mStudy = studyInfoProvider.GetStudyByIDAsync("1.2.276.0.7230010.3.1.2.655267989.4252.1447498448.838").Result;
        }
        public async void DownloadImages_ProperMethodsAreCalled()
        {
            // Arrange
            MockProvider mockProvider = new MockProvider();

            var downloader = mockProvider.GetDicomDownloaderForStudiesFake();
            StudyInfoProvider studyInfoProvider = new StudyInfoProvider(mockProvider.GetDicomQueryProviderForStudiesFake(), downloader);
            InfoIdentifier studyIdentifier = new InfoIdentifier("1.2.3");
            StudyInfo studyInfo = new StudyInfo
            {
                StudyInstanceUID = studyIdentifier
            };

            // Act
            await studyInfoProvider.DownloadImagesAsync(studyInfo);

            // Assert
            Assert.That(() => downloader.Received(1).DownloadAsync(studyIdentifier, Arg.Any<Func<InfoIdentifier, InfoIdentifier, Stream>>()), Throws.Nothing);
        }
        /// <summary>
        /// Performs downloading of images related to the given study.
        /// </summary>
        /// <param name="study">Study the images are downloaded for</param>
        /// <param name="downloadAction">Specifies action which will be performed once server gets the file</param>
        /// <exception cref="ArgumentNullException"><paramref name="study"/> is null</exception>
        public async Task DownloadImagesAsync(StudyInfo study, Func<InfoIdentifier, InfoIdentifier, Stream> downloadAction = null)
        {
            if (study == null)
            {
                throw new ArgumentNullException(nameof(study));
            }

            await mDicomDownloader.DownloadAsync(study.StudyInstanceUID, downloadAction);
        }
        public void GetSeriesForStudy_PropertQueryIsCreated()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var queryProvider = Substitute.For<IDicomQueryProvider<SeriesInfo>>();
            var dataLoader = Substitute.For<IDicomDataLoader<SeriesInfo>>();
            var whereCollection = Substitute.For<IWhereCollection<SeriesInfo>>();
            var query = Substitute.For<DicomQuery<SeriesInfo>>(mockProvider.GetGeneralizedInfoProviderFake(), dataLoader, whereCollection);
            queryProvider.GetDicomQuery().Returns(query);

            var study = new StudyInfo
            {
                StudyInstanceUID = new InfoIdentifier("1.2.3")
            };

            var seriesInfoProvider = new SeriesInfoProvider(queryProvider);

            // Act
            seriesInfoProvider.GetSeriesForStudy(study);

            // Assert
            Assert.That(() => whereCollection.Received(1).WhereEquals(DicomTags.StudyInstanceUID, "1.2.3"), Throws.Nothing);
        }
示例#5
0
 /// <summary>
 /// Compares with another <see cref="StudyInfo"/> info and returns whether their UID equals.
 /// </summary>
 /// <param name="other">Other patient info to be checked</param>
 /// <returns>True, if patient IDs are equals; otherwise, false</returns>
 protected bool Equals(StudyInfo other)
 {
     return Equals(StudyInstanceUID, other.StudyInstanceUID);
 }