public void DeletePicturesCommand_ShouldOnlyRemoveSelectedPictures_WhenYesIsPressed()
        {
            _mockModalDialog.Setup(dialog => dialog.ShowQuestion(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);
            var tryResult = new TryResult();

            tryResult.Try(() => { });
            _mockPictureRepository.Setup(repo => repo.TryDelete(It.IsAny <string>()))
            .Returns(tryResult);
            var picturesExist = new Dictionary <Guid, bool>();

            for (var i = 0; i < 3; i++)
            {
                var picture = new Picture(new BitmapImage(), string.Empty);
                _pictureGridViewModel.Pictures.Add(picture);
                // All odd numbers should not exist.
                picturesExist.Add(picture.Guid, !(i % 2 == 0));
            }
            var picturesToRemove = _pictureGridViewModel.Pictures.ToList().FindAll(pic =>
            {
                var picturesThatDontExist = picturesExist.Where(picExist => picExist.Value == false)
                                            .ToDictionary(key => key.Key);
                return(picturesThatDontExist.ContainsKey(pic.Guid));
            });

            _pictureGridViewModel.DeletePicturesCommand.Execute(picturesToRemove);

            Assert.IsTrue(picturesExist.All(pic =>
            {
                return(pic.Value
                    ? _pictureGridViewModel.Pictures.SingleOrDefault(oPic => oPic.Guid == pic.Key) != null
                    : _pictureGridViewModel.Pictures.SingleOrDefault(oPic => oPic.Guid == pic.Key) == null);
            }));
        }
Exemplo n.º 2
0
        public TryResult DeleteFile(string fileName)
        {
            var tryResult = new TryResult();

            tryResult.Try(() => File.Delete(fileName));
            return(tryResult);
        }
Exemplo n.º 3
0
        public TryResult ChangeFileName(string sourceFileName, string destinationFileName)
        {
            var tryResult = new TryResult();

            tryResult.Try(() => File.Move(sourceFileName, destinationFileName));
            return(tryResult);
        }
Exemplo n.º 4
0
        public TryResult MoveTo(string sourceFileName, string destinationFolderPath)
        {
            var tryResult = new TryResult();
            var fileName  = Path.GetFileName(sourceFileName);

            tryResult.Try(() => File.Move(sourceFileName, $"{destinationFolderPath}\\{fileName}"));
            return(tryResult);
        }
        public void DeletePicturesCommand_ShouldRemovePicture_WhenYesIsPressed()
        {
            _mockModalDialog.Setup(dialog => dialog.ShowQuestion(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);
            var tryResult = new TryResult();

            tryResult.Try(() => { });
            _mockPictureRepository.Setup(repo => repo.TryDelete(It.IsAny <string>()))
            .Returns(tryResult);
            _pictureGridViewModel.Pictures.Add(new Picture(new BitmapImage(), string.Empty));
            var beforeRemoveCount = _pictureGridViewModel.Pictures.Count;

            _pictureGridViewModel.DeletePicturesCommand.Execute(_pictureGridViewModel.Pictures.ToList());

            Assert.AreNotEqual(beforeRemoveCount, _pictureGridViewModel.Pictures.Count);
        }
        public void EditPictureNameCommand_ShouldNotChangeName_WhenNameIsInvalid()
        {
            var task = Task <string> .Factory.StartNew(() => It.IsAny <string>());

            _mockModalDialog.Setup(diaog => diaog.ShowInput(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task <string> .Factory.StartNew(() => "C:\\test2.jpg"));
            var tryResult = new TryResult();

            tryResult.Try(() => { throw new System.Exception(); });
            _mockPictureRepository.Setup(repo => repo.TryChangePictureName(It.IsAny <Picture>(), It.IsAny <string>()))
            .Returns(tryResult);
            _pictureGridViewModel.Pictures.Add(new Picture(new BitmapImage(), string.Empty));
            var testFileName = "C:\\test.jpg";

            _pictureGridViewModel.Pictures.First().FullFileName = "C:\\test.jpg";

            _pictureGridViewModel.EditPictureNameCommand.Execute(_pictureGridViewModel.Pictures.First());

            task.Wait();
            Assert.AreEqual(testFileName, _pictureGridViewModel.Pictures.First().FullFileName);
        }