public void FindImportDestinationTest() { var fileUri = new SafeUri("/path/to/photo.jpg"); var targetBaseUri = new SafeUri("/photo/store"); var targetUri = new SafeUri("/photo/store/2016/02/06"); var date = new DateTime(2016, 2, 6); var source = PhotoMock.Create(fileUri, date); var result = ImportController.FindImportDestination(source, targetBaseUri); Assert.AreEqual(targetUri, result); }
public void CopyNewFile() { var photo = PhotoMock.Create(sourceUri); var fileSystem = new FileSystemMock(); var tracker = new PhotoFileTracker(fileSystem); tracker.CopyIfNeeded(photo, targetBase); CollectionAssert.AreEquivalent(new[] { sourceUri }, tracker.OriginalFiles); CollectionAssert.AreEquivalent(new[] { targetUri }, tracker.CopiedFiles); Assert.AreEqual(targetUri, photo.DefaultVersion.Uri); fileSystem.FileMock.Verify(f => f.Copy(sourceUri, targetUri, false), Times.Once); }
public void DontCopyIfSourceIsTargetFile() { var photo = PhotoMock.Create(targetUri); var fileSystem = new FileSystemMock(); var tracker = new PhotoFileTracker(fileSystem); tracker.CopyIfNeeded(photo, targetBase); Assert.AreEqual(0, tracker.OriginalFiles.Count()); Assert.AreEqual(0, tracker.CopiedFiles.Count()); Assert.AreEqual(targetUri, photo.DefaultVersion.Uri); fileSystem.FileMock.Verify(f => f.Copy(It.IsAny <Uri> (), It.IsAny <Uri> (), It.IsAny <bool> ()), Times.Never); }
public void CreateFromWithVersionIgnored() { var store = new PhotoStore(new FSpotDatabaseConnection(database), true); var photoMock = PhotoMock.CreateWithVersion(uri, originalName, modifiedUri, modifiedName); var photo = store.CreateFrom(photoMock, true, 1); Assert.AreEqual(Catalog.GetString("Original"), photo.DefaultVersion.Name); Assert.AreEqual(uri, photo.DefaultVersion.BaseUri); // CreateFrom ignores any versions except the default version Assert.AreEqual(1, photo.Versions.Count()); Assert.AreEqual(1, store.TotalPhotos); }
public void CreateFrom() { var store = new PhotoStore(new FSpotDatabaseConnection(database), true); var photoMock = PhotoMock.Create(uri, originalName); var photo = store.CreateFrom(photoMock, true, 1); // default version name is ignored on import Assert.AreEqual(Catalog.GetString("Original"), photo.DefaultVersion.Name); Assert.AreEqual(uri, photo.DefaultVersion.BaseUri); Assert.AreEqual(1, photo.Versions.Count()); Assert.AreEqual(1, store.TotalPhotos); }
public void CreateFromWithVersionAdded() { var store = new PhotoStore(new FSpotDatabaseConnection(database), true); var photoMock = PhotoMock.CreateWithVersion(uri, originalName, modifiedUri, modifiedName); var photo = store.CreateFrom(photoMock, false, 1); Assert.AreEqual(modifiedName, photo.DefaultVersion.Name); Assert.AreEqual(modifiedUri, photo.DefaultVersion.BaseUri); Assert.AreEqual(2, photo.Versions.Count()); // version id 1 is the first photo added - the original photo Assert.AreEqual(originalName, photo.GetVersion(1).Name); Assert.AreEqual(uri, photo.GetVersion(1).BaseUri); Assert.AreEqual(1, store.TotalPhotos); }
public void PhotoWithVersionsAndXmpIsCopied() { var photo = PhotoMock.Create(sourceUri, rawUri); var fileSystem = new FileSystemMock(xmpSourceUri); var tracker = new PhotoFileTracker(fileSystem); tracker.CopyIfNeeded(photo, targetBase); CollectionAssert.AreEquivalent(new[] { sourceUri, rawUri, xmpSourceUri }, tracker.OriginalFiles); CollectionAssert.AreEquivalent(new[] { targetUri, targetRawUri, xmpTargetUri }, tracker.CopiedFiles); Assert.AreEqual(targetUri, photo.DefaultVersion.Uri); Assert.AreEqual(targetRawUri, photo.Versions.ElementAt(1).Uri); fileSystem.FileMock.Verify(f => f.Copy(sourceUri, targetUri, false), Times.Once); fileSystem.FileMock.Verify(f => f.Copy(rawUri, targetRawUri, false), Times.Once); fileSystem.FileMock.Verify(f => f.Copy(xmpSourceUri, xmpTargetUri, true), Times.Once); }
public void CreateFromWithVersionIgnored() { var databaseConnection = new FSpotDatabaseConnection(database); var dbMock = new Mock <IDb> (); dbMock.Setup(m => m.Database).Returns(databaseConnection); var store = new PhotoStore(null, null, dbMock.Object, true); var photoMock = PhotoMock.CreateWithVersion(uri, originalName, modifiedUri, modifiedName); var photo = store.CreateFrom(photoMock, true, 1); Assert.AreEqual(Strings.Original, photo.DefaultVersion.Name); Assert.AreEqual(uri, photo.DefaultVersion.BaseUri); // CreateFrom ignores any versions except the default version Assert.AreEqual(1, photo.Versions.Count()); Assert.AreEqual(1, store.TotalPhotos); }
public void CreateFrom() { var databaseConnection = new FSpotDatabaseConnection(database); var dbMock = new Mock <IDb> (); dbMock.Setup(m => m.Database).Returns(databaseConnection); var store = new PhotoStore(null, null, dbMock.Object, true); var photoMock = PhotoMock.Create(uri, originalName); var photo = store.CreateFrom(photoMock, true, 1); // default version name is ignored on import Assert.AreEqual(Strings.Original, photo.DefaultVersion.Name); Assert.AreEqual(uri, photo.DefaultVersion.BaseUri); Assert.AreEqual(1, photo.Versions.Count()); Assert.AreEqual(1, store.TotalPhotos); }