public void LoadDataFromServer_WhereCollection_CreatesRequest() { // Arrange var mockProvider = new MockProvider(); var requestFactory = new DicomRequestFactoryFake(); var dataLoader = new DicomDataLoader<TestInfo>(mockProvider.GetCacheProviderFake(), mockProvider.GetCacheIndexProviderFake(), mockProvider.GetDicomClientFactoryFake(), requestFactory); var whereCollection = new WhereCollection<TestInfo>(mockProvider.GetDicomMappingFake()); whereCollection.WhereEquals(DicomTags.PatientID, 1); // Act dataLoader.LoadDataFromServer(whereCollection); var whereItem = ((IDicomWhereCollection)requestFactory.WhereCollection).Single(); // Assert Assert.That(whereItem.DicomTag, Is.EqualTo(DicomTags.PatientID)); Assert.That(whereItem.Value, Is.EqualTo("1")); }
public async void LoadDataFromCacheAsync_ReturnsFromCache() { // Arrange var mockProvider = new MockProvider(); var cacheProvider = mockProvider.GetCacheProviderFake(); var dataLoader = new DicomDataLoader<TestInfo>(cacheProvider, mockProvider.GetCacheIndexProviderFake(), mockProvider.GetDicomClientFactoryFake(), mockProvider.GetDicomRequestFactoryFake()); var whereCollection = new WhereCollection<TestInfo>(mockProvider.GetDicomMappingFake()); whereCollection.WhereEquals(DicomTags.PatientID, 1); // Act var result = (await dataLoader.LoadDataFromCacheAsync(whereCollection)).Single(); // Assert Assert.That(result.PatientID, Is.EqualTo(1)); Assert.That(() => cacheProvider.Received(1).Retrieve<TestInfo>(), Throws.Nothing); }
public async void LoadDataFromServerAsync_GetResponse_StoresInCache() { // Arrange var mockProvider = new MockProvider(); var cacheProvider = mockProvider.GetCacheProviderFake(); var dataLoader = new DicomDataLoader<TestInfo>(cacheProvider, mockProvider.GetCacheIndexProviderFake(), mockProvider.GetDicomClientFactoryFake(), mockProvider.GetDicomRequestFactoryFake()); var whereCollection = new WhereCollection<TestInfo>(mockProvider.GetDicomMappingFake()); whereCollection.WhereEquals(DicomTags.PatientID, 1); // Act var result = await dataLoader.LoadDataFromServerAsync(whereCollection); // Assert Assert.That(result.Count, Is.EqualTo(1)); Assert.That(result.All(c=>c.PatientID == 1), Is.True); Assert.That(() => cacheProvider.Received(1).Store(Arg.Any<string>(), Arg.Any<object>(), Arg.Any<bool>()), Throws.Nothing); }