public void AddingAndGetting_TwoImagesTwoDates_Succeeds() { string basePath = GetTempBaseDirectory(); var fileSystemImageRepository = new FileSystemImageRepository(basePath); DateTime date = DateTime.Today; DateTime date2 = DateTime.Today.AddDays(-1); var imageMetadata1 = new ImageMetadata(date, "test", "first"); var imageMetadata2 = new ImageMetadata(date2, "test", "second"); fileSystemImageRepository.Add(imageMetadata1, new byte[] { 1 }); fileSystemImageRepository.Add(imageMetadata2, new byte[] { 2 }); var retrievedFiles = fileSystemImageRepository.FindByDate(date); Assert.That(retrievedFiles.Length, Is.EqualTo(1)); Assert.That(retrievedFiles[0], Is.EqualTo(imageMetadata1)); var fileData = fileSystemImageRepository.GetContent(retrievedFiles[0].Id); Assert.That(fileData[0], Is.EqualTo(1)); retrievedFiles = fileSystemImageRepository.FindByDate(date2); Assert.That(retrievedFiles.Length, Is.EqualTo(1)); Assert.That(retrievedFiles[0], Is.EqualTo(imageMetadata2)); fileData = fileSystemImageRepository.GetContent(retrievedFiles[0].Id); Assert.That(fileData[0], Is.EqualTo(2)); }
public void GetDatesWithAvailableImages_NoImages_ReturnsEmptyResult() { string basePath = GetTempBaseDirectory(); var fileSystemImageRepository = new FileSystemImageRepository(basePath); var dates = fileSystemImageRepository.GetDatesWithAvailableImages(); Assert.AreEqual(dates.Length, 0); }
private static async Task DownloadImages(string datesFileName) { var imageRepository = new FileSystemImageRepository(AppConfiguration.ImageGalleryPath); var apiClient = new MarsRoverApiClient(); var nasaImageManager = new NasaImageManager(imageRepository, apiClient); nasaImageManager.ClearLocalImages(); await nasaImageManager.DownloadImagesAsync(new FileDateListProvider(datesFileName)).ConfigureAwait(false); }
public void GetDatesWithAvailableImages_TwoImagesTwoDates_Succeeds() { string basePath = GetTempBaseDirectory(); var fileSystemImageRepository = new FileSystemImageRepository(basePath); DateTime date = DateTime.Today; DateTime date2 = DateTime.Today.AddDays(-1); var imageMetadata1 = new ImageMetadata(date, "test", "first"); var imageMetadata2 = new ImageMetadata(date2, "test", "second"); fileSystemImageRepository.Add(imageMetadata1, new byte[] { 1 }); fileSystemImageRepository.Add(imageMetadata2, new byte[] { 2 }); var dates = fileSystemImageRepository.GetDatesWithAvailableImages(); CollectionAssert.AreEquivalent(dates, new[] { date, date2 }); }
public void AddingAndGetting_SingleImage_Succeeds() { string basePath = GetTempBaseDirectory(); var fileSystemImageRepository = new FileSystemImageRepository(basePath); DateTime date = DateTime.Today; var imageMetadata = new ImageMetadata(date, "test", "first"); fileSystemImageRepository.Add(imageMetadata, new byte[] { 66 }); var retrievedFiles = fileSystemImageRepository.FindByDate(date); Assert.That(retrievedFiles.Length, Is.EqualTo(1)); Assert.That(retrievedFiles[0], Is.EqualTo(imageMetadata)); var fileData = fileSystemImageRepository.GetContent(retrievedFiles[0].Id); Assert.That(fileData[0], Is.EqualTo(66)); }
public void Reset_Wipes_BasePath() { string basePath = GetTempBaseDirectory(); string fileName1 = Path.Combine(basePath, "1.txt"); string fileName2 = Path.Combine(basePath, "2.txt"); string dirName = Path.Combine(basePath, "subdir"); File.WriteAllText(fileName1, "1"); File.WriteAllText(fileName2, "2"); Directory.CreateDirectory(dirName); var fileSystemImageRepository = new FileSystemImageRepository(basePath); fileSystemImageRepository.Reset(); Assert.That(File.Exists(fileName1), Is.False); Assert.That(File.Exists(fileName2), Is.False); Assert.That(Directory.Exists(dirName), Is.False); }