Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }