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 HandleTypeAsync_InvalidType_ThrowsException() { // Arrange var mockProvider = new MockProvider(); var seriesTypeHandler = new SeriesTypeHandler(mockProvider.GetSeriesInfoProviderFake(), mockProvider.GetStudyInfoProviderFake()); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "UnknownType" }; // Act var exception = seriesTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()).Exception; // Assert Assert.That(exception.InnerExceptions.First(), Is.TypeOf<ArgumentException>()); }
public async void HandleTypeAsync_SingleSeries([Values(true, false)] bool useCache) { // Arrange var mockProvider = new MockProvider(); var seriesInfoProvider = mockProvider.GetSeriesInfoProviderFake(); var seriesTypeHandler = new SeriesTypeHandler(seriesInfoProvider, mockProvider.GetStudyInfoProviderFake()); var inputArguments = new InputArguments(mockProvider.GetSettingsProviderFake(), mockProvider.GetBirthNumberParserFake()) { Type = "series", Identifier = "123", UseCache = useCache }; // Act await seriesTypeHandler.HandleTypeAsync(inputArguments, GetMemoryTextWriter()); // Assert Assert.That(() => seriesInfoProvider.Received(1).GetSeriesByIDAsync(new InfoIdentifier("123"), useCache), Throws.Nothing); }