public void RemovPhoto_ShouldRemoveSuccessfully()
        {
            var user    = UserCreator.Create("test");
            var photo   = PhotoCreator.Create(user, false, false);
            var album   = AlbumCreator.Create(false, user);
            var mapping = PhotoAlbumCreator.Create(photo, album);
            var list    = new List <PhotoAlbum>()
            {
                mapping
            };

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(list);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });

            var service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);

            service.RemovePhotoAsync(album.Id, photo.Id, user.Id).Wait();

            Assert.Empty(list);
        }
        public void GetAllUsedAlbums_ShouldReturnCorrectNumber()
        {
            var user    = UserCreator.Create("test");
            var album1  = AlbumCreator.Create(false, user);
            var album2  = AlbumCreator.Create(false, user);
            var album3  = AlbumCreator.Create(false, user);
            var photo   = PhotoCreator.Create(user, false, false);
            var mapping = PhotoAlbumCreator.Create(photo, album1);

            var albumsRepo = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album1, album2, album3
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>()
            {
                mapping
            });

            var service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            var result  = service.GetAllUsedAlbums <AlbumViewModel>(photo.Id, user.Id);

            Assert.Single(result);
        }
Exemple #3
0
        public void When_GetPhotos_is_called_then_GetPhotoAdapterSettings_on_the_BandRepository_is_called()
        {
            var photos   = PhotoCreator.CreateCollection();
            var settings = AdapterSettingsCreator.CreateSingle();

            BandRepository
            .Expect(repository =>
                    repository.GetAdapterSettings(Arg <string> .Is.Anything))
            .Return(settings)
            .Repeat.Once();
            BandRepository.Replay();

            PhotoAdapter
            .Expect(adapter =>
                    adapter.GetItems(settings.SetName, settings.OAuthAccessToken))
            .Return(photos)
            .Repeat.Once();
            PhotoAdapter.Replay();

            var result = Process.GetPhotos();

            Assert.AreEqual(photos.Count(), result.Count());
            Assert.AreEqual(photos.First(), result.First());
            BandRepository.VerifyAllExpectations();
        }
        public void GetUserFavoritePhotos_ShouldReturnFavoritePhotos()
        {
            var user    = UserCreator.Create("test");
            var visitor = UserCreator.Create("visitor");
            var photo1  = PhotoCreator.Create(user, false, false);
            var photo2  = PhotoCreator.Create(user, false, false);
            var photo3  = PhotoCreator.Create(visitor, false, false);

            var favorites = new List <PhotoFavorite>()
            {
                PhotoFavoriteCreator.Create(photo1, visitor),
                PhotoFavoriteCreator.Create(photo2, visitor),
                PhotoFavoriteCreator.Create(photo3, user),
            };

            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo1, photo2, photo3
            });
            var favoritesRepo = EfRepositoryMock.Get <PhotoFavorite>(favorites);

            var service          = new FavoritesService(favoritesRepo.Object, photosRepo.Object);
            var userFavorites    = service.GetUserFavoritePhotos <PhotoViewModel>(user.Id);
            var visitorFavorites = service.GetUserFavoritePhotos <PhotoViewModel>(visitor.Id);

            Assert.Single(userFavorites);
            Assert.Equal(2, visitorFavorites.Count);
        }
        public void GetAlbumPhotos_ShouldReturnAllPhotosWhenUserIsOwner()
        {
            var user         = UserCreator.Create("test");
            var publicPhoto  = PhotoCreator.Create(user, false, false);
            var privatePhoto = PhotoCreator.Create(user, true, false);
            var album        = AlbumCreator.Create(false, user);

            var listAlbums = new List <Album>()
            {
                album
            };
            var listPhotoAlbums = new List <PhotoAlbum>()
            {
                PhotoAlbumCreator.Create(publicPhoto, album),
                PhotoAlbumCreator.Create(privatePhoto, album),
            };

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(listPhotoAlbums);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(listAlbums);

            var service = new AlbumsService(albumsRepo.Object, photoAlbumsRepo.Object);
            var photos  = service.GetAlbumPhotos <PhotoAlbumViewModel>(album.Id, user.Id);

            Assert.Equal(2, photos.Count);
        }
        public void AddPhoto_ShouldThrowErrorWhenPhotoAlreadyInTheAlbum()
        {
            var user    = UserCreator.Create("test");
            var photo   = PhotoCreator.Create(user, false, false);
            var album   = AlbumCreator.Create(false, user);
            var mapping = PhotoAlbumCreator.Create(photo, album);
            var list    = new List <PhotoAlbum>()
            {
                mapping
            };

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(list);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });

            var       service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.AddPhotoAsync(album.Id, photo.Id, user.Id).Wait());

            Assert.Contains("Photo is already added to the album", ex.Message);
        }
        public void GetAllByPhotoId_ShouldReturnCorrectNumber()
        {
            var user     = UserCreator.Create("test");
            var album1   = AlbumCreator.Create(false, user);
            var album2   = AlbumCreator.Create(false, user);
            var album3   = AlbumCreator.Create(false, user);
            var photo    = PhotoCreator.Create(user, false, false);
            var mapping1 = PhotoAlbumCreator.Create(photo, album1);
            var mapping2 = PhotoAlbumCreator.Create(photo, album2);
            var mapping3 = PhotoAlbumCreator.Create(photo, album3);

            var albumsRepo = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album1, album2, album3
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>()
            {
                mapping1, mapping2, mapping3
            });

            var service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            var result  = service.GetAllByPhotoId <PhotoAlbumViewModel>(photo.Id);

            Assert.Equal(3, result.Count);
        }
        public void Add_ShouldThrowErrorWhenPhotoDoesNotExist()
        {
            var user         = UserCreator.Create("test");
            var photo        = PhotoCreator.Create(user, false, true);
            var photosRepo   = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>());
            var commentsRepo = EfRepositoryMock.Get <Comment>(new List <Comment>());

            var service = new CommentService(photosRepo.Object, commentsRepo.Object);

            Exception ex = Assert.Throws <AggregateException>(() => service.AddAsync(photo.Id, user.Id, "comment").Wait());

            Assert.Contains("Photo does not exists!", ex.Message);
        }
        public void Toggle_ShouldThrowErrorWhenPhotoDoesNotExists()
        {
            var user      = UserCreator.Create("test");
            var photo     = PhotoCreator.Create(user, false, false);
            var favorites = new List <PhotoFavorite>();

            var photosRepo    = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>());
            var favoritesRepo = EfRepositoryMock.Get <PhotoFavorite>(favorites);

            var       service = new FavoritesService(favoritesRepo.Object, photosRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.ToggleAsync(photo.Id, user.Id).Wait());

            Assert.Contains("Photo does not exist", ex.Message);
        }
        public void Add_ShouldAddSucessfully()
        {
            var user       = UserCreator.Create("test");
            var photo      = PhotoCreator.Create(user, false, true);
            var comments   = new List <Comment>();
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var commentsRepo = EfRepositoryMock.Get <Comment>(comments);

            var service = new CommentService(photosRepo.Object, commentsRepo.Object);

            service.AddAsync(photo.Id, user.Id, "comment").Wait();
            Assert.Single(comments);
        }
        public void Delete_ShouldThrowExceptionWhenPhotoDoesNotExists()
        {
            var user  = UserCreator.Create("test");
            var photo = PhotoCreator.Create(user, false, false);

            var list            = new List <Photo>();
            var photosRepo      = DeletableEntityRepositoryMock.Get <Photo>(list);
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>());
            var storageService  = PhotoStorageServiceMock.Get();
            var metadataService = PhotoMetadataServiceMock.Get();

            var       service = new PhotoService(photosRepo.Object, storageService.Object, metadataService.Object, photoAlbumsRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.DeletePhotoAsync(photo.Id, user.Id).Wait());

            Assert.Contains("Such photo does not exists", ex.Message);
        }
Exemple #12
0
    /**
     * Loads photos from {photoFilepath} folder into textures and
     * adds them to a collection of memories.
     * */
    void createMemories()
    {
        PhotoCreator  photoCreator = new PhotoCreator(photoFilePath);
        List <string> photoFiles   = photoCreator.getPhotoFiles();
        int           numMemories  = photoFiles.Count;

        memories = new Memory[numMemories];
        //List<Memory> memList = new List<Memory> ();

        for (int i = 0; i < numMemories; i++)
        {
            Texture2D pic    = photoCreator.getTexture(photoFiles[i]);
            Memory    memory = new Memory(pic);
            memories [i] = memory;
        }
        Debug.Log("Number of photos: " + numMemories);
    }
        public void Toggle_ShouldNotMakeFavoriteWhenUserOwnsThePhoto()
        {
            var user      = UserCreator.Create("test");
            var photo     = PhotoCreator.Create(user, false, false);
            var favorites = new List <PhotoFavorite>();

            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var favoritesRepo = EfRepositoryMock.Get <PhotoFavorite>(favorites);

            var service = new FavoritesService(favoritesRepo.Object, photosRepo.Object);

            service.ToggleAsync(photo.Id, user.Id).Wait();

            Assert.Empty(favorites);
        }
        public void Delete_ShouldNotDeleteWhenAlbumIsDoesNotExists()
        {
            var user       = UserCreator.Create("test");
            var album      = AlbumCreator.Create(false, user);
            var photo      = PhotoCreator.Create(user, false, false);
            var photoAlbum = PhotoAlbumCreator.Create(photo, album);

            var listAlbums      = new List <Album>();
            var listPhotoAlbums = new List <PhotoAlbum>();

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(listPhotoAlbums);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(listAlbums);

            var       service = new AlbumsService(albumsRepo.Object, photoAlbumsRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.DeleteAsync(album.Id, user.Id).Wait());

            Assert.Contains("Album does not exist!", ex.Message);
        }
        public void Toggle_ShouldMakeFavoriteWhenMappingDoesNotExist()
        {
            var user        = UserCreator.Create("test");
            var visitorUser = UserCreator.Create("visitor");
            var photo       = PhotoCreator.Create(user, false, false);
            var favorites   = new List <PhotoFavorite>();

            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var favoritesRepo = EfRepositoryMock.Get <PhotoFavorite>(favorites);

            var service = new FavoritesService(favoritesRepo.Object, photosRepo.Object);

            service.ToggleAsync(photo.Id, visitorUser.Id).Wait();

            Assert.Single(favorites);
        }
        public void GetAllByUserId_ShouldReturnAllPhotosWhenUserIsOwner()
        {
            var user         = UserCreator.Create("test");
            var privatePhoto = PhotoCreator.Create(user, true, false);
            var publicPhoto  = PhotoCreator.Create(user, false, false);

            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                privatePhoto, publicPhoto
            });
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>());
            var storageService  = PhotoStorageServiceMock.Get();
            var metadataService = PhotoMetadataServiceMock.Get();

            var service = new PhotoService(photosRepo.Object, storageService.Object, metadataService.Object, photoAlbumsRepo.Object);
            var result  = service.GetAllByUserId <PhotoViewModel>(user.Id, user.Id);

            Assert.Equal(2, result.Count);
        }
        public void AddPhoto_ShouldThrowErrorWhenAlbumDoesNotExist()
        {
            var user  = UserCreator.Create("test");
            var photo = PhotoCreator.Create(user, false, false);
            var album = AlbumCreator.Create(false, user);
            var list  = new List <PhotoAlbum>();

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(list);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(new List <Album>());
            var photosRepo      = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });

            var       service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.AddPhotoAsync(album.Id, photo.Id, user.Id).Wait());

            Assert.Contains("Album does not exist", ex.Message);
        }
        public void Delete_ShouldDeletePhotoSuccessfully()
        {
            var user  = UserCreator.Create("test");
            var photo = PhotoCreator.Create(user, false, false);

            var list = new List <Photo>()
            {
                photo
            };
            var photosRepo      = DeletableEntityRepositoryMock.Get <Photo>(list);
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>());
            var storageService  = PhotoStorageServiceMock.Get();
            var metadataService = PhotoMetadataServiceMock.Get();

            var service = new PhotoService(photosRepo.Object, storageService.Object, metadataService.Object, photoAlbumsRepo.Object);

            service.DeletePhotoAsync(photo.Id, user.Id).Wait();

            Assert.Empty(list);
        }
        public void UserHasFavoritePhoto_ShouldFalseWhenPhotoIsNotFavoriteToTheUser()
        {
            var user        = UserCreator.Create("test");
            var visitorUser = UserCreator.Create("visitor");
            var photo       = PhotoCreator.Create(user, false, false);
            var favorites   = new List <PhotoFavorite>()
            {
                PhotoFavoriteCreator.Create(photo, visitorUser)
            };

            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var favoritesRepo = EfRepositoryMock.Get <PhotoFavorite>(favorites);

            var service = new FavoritesService(favoritesRepo.Object, photosRepo.Object);
            var actual  = service.UserHasFavoritePhoto(photo.Id, user.Id);

            Assert.False(actual);
        }
        public void GetLatestPublic_ShouldReturnOnlyPublicPhotos()
        {
            var user   = UserCreator.Create("test");
            var photos = new List <Photo>()
            {
                PhotoCreator.Create(user, false, false),
                PhotoCreator.Create(user, true, false),
                PhotoCreator.Create(user, false, false),
                PhotoCreator.Create(user, true, false),
            };

            var photosRepo      = DeletableEntityRepositoryMock.Get <Photo>(photos);
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>());
            var storageService  = PhotoStorageServiceMock.Get();
            var metadataService = PhotoMetadataServiceMock.Get();

            var service = new PhotoService(photosRepo.Object, storageService.Object, metadataService.Object, photoAlbumsRepo.Object);
            var result  = service.GetLatestPublic <PhotoViewModel>();

            Assert.Equal(2, result.Count);
        }
        public void GetById_ShouldNotReturnPrivatePhotoWhenUserIsNotOwner()
        {
            var user         = UserCreator.Create("test");
            var visitor      = UserCreator.Create("visitor");
            var privatePhoto = PhotoCreator.Create(user, true, false);
            var publicPhoto  = PhotoCreator.Create(user, false, false);

            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                privatePhoto, publicPhoto
            });
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>());
            var storageService  = PhotoStorageServiceMock.Get();
            var metadataService = PhotoMetadataServiceMock.Get();

            var service            = new PhotoService(photosRepo.Object, storageService.Object, metadataService.Object, photoAlbumsRepo.Object);
            var privatePhotoResult = service.GetById <PhotoViewModel>(privatePhoto.Id, visitor.Id);
            var publicPhotoResult  = service.GetById <PhotoViewModel>(publicPhoto.Id, visitor.Id);

            Assert.Null(privatePhotoResult);
            Assert.NotNull(publicPhotoResult);
        }
        public void Delete_ShoudNotDeleteWhenThereArePhotosAssociatedWithAlbum()
        {
            var user       = UserCreator.Create("test");
            var album      = AlbumCreator.Create(false, user);
            var photo      = PhotoCreator.Create(user, false, false);
            var photoAlbum = PhotoAlbumCreator.Create(photo, album);

            var listAlbums = new List <Album>()
            {
                album
            };
            var listPhotoAlbums = new List <PhotoAlbum>()
            {
                photoAlbum
            };

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(listPhotoAlbums);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(listAlbums);

            var       services = new AlbumsService(albumsRepo.Object, photoAlbumsRepo.Object);
            Exception ex       = Assert.Throws <AggregateException>(() => services.DeleteAsync(album.Id, user.Id).Wait());

            Assert.Contains("Album contains photos!", ex.Message);
        }
Exemple #23
0
    public void OnButtonClick()
    {
        if ((SystemManager.systemState & SystemManager.SystemState.MAIN) == SystemManager.SystemState.MAIN)
        {
            var path = Application.dataPath + "/StreamingAssets/Photo";

            List <string> filePaths = new List <string>();
            filePaths = GetFiles(path);

            var wordPath = Application.dataPath + "/StreamingAssets/Photo/keyword.txt";
            filePaths.Add(wordPath);

            if (filePaths != null)
            {
                List <string> files = new List <string>();
                List <string> data  = new List <string>();
                foreach (string a in filePaths)
                {
                    switch (a.Split('.')[1]) // Show the type of file
                    {
                    case "txt":
                        data.Add(a);
                        break;

                    case "png":
                        files.Add(a);
                        break;

                    default:
                        break;
                    }
                }
                Debug.Log(files[1]);
                PhotoCreator photoCreator = GameObject.Find("Main Camera").gameObject.GetComponent <PhotoCreator>();
                if (PhotoManager.LOADED == false)
                {
                    if (files.Count > 0 && data.Count > 0) //画像とデータを同時に
                    {
                        photoCreator.ImageAndDataCreate(files, data);
                        PhotoManager.LOADED = true;
                    }
                    else
                    {
                        if (files.Count > 0 && data.Count < 1) //画像のみ
                        {
                            photoCreator.ImageCreate(files);
                            PhotoManager.LOADED = true;
                        }
                    }
                }
                else
                {
                    bool resetChecker = false;
                    if (files.Count > 0 || data.Count > 0)
                    {
                        resetChecker = GameObject.Find("Main Camera").gameObject.GetComponent <GUIManager>().AllReset();
                    }

                    PhotoManager pm = GameObject.Find("Main Camera").gameObject.GetComponent <PhotoManager>();
                    if (resetChecker == true)
                    {
                        if (files.Count > 0 && data.Count > 0) //画像とデータを同時に
                        {
                            ClearOldPhotos(pm);
                            photoCreator.ImageAndDataCreate(files, data);
                        }
                        else if (files.Count > 0 && data.Count < 1) //画像のみ
                        {
                            ClearOldPhotos(pm);
                            photoCreator.ImageCreate(files);
                        }
                    }
                    if (data.Count > 0 && files.Count < 1) //データのみ
                    {
                        photoCreator.DataCreate(data);
                    }
                }
            }
        }
        FileMenu.GetComponent <OpenMenu>().OnButtonClick();
    }