コード例 #1
0
        public void UserFeedback_ReturnsStringWithContent()
        {
            var fileToDelete = new FakeFile("fileToDelete");
            fileToDelete.Attributes = FileAttributes.ReadOnly;

            var deleteCommand = new DeleteFileCommand(fileToDelete);
            Assert.IsFalse(String.IsNullOrEmpty(deleteCommand.UserFeedback));
        }
コード例 #2
0
        public void UserFeedback_ValidStringReturned()
        {
            FakeFile linkTo = new FakeFile("linkTo");
            FakeFile linkFrom = new FakeFile("linkFrom");

            ICommand linkFileCommand = new CreateFileLinkCommand(linkTo, linkFrom);

            Assert.IsFalse(String.IsNullOrEmpty(linkFileCommand.UserFeedback));
        }
コード例 #3
0
        public void Undo_NoExceptionThrown()
        {
            FakeFile linkTo = new FakeFile("linkTo");
            FakeFile linkFrom = new FakeFile("linkFrom");

            ICommand linkFileCommand = new CreateFileLinkCommand(linkTo, linkFrom);

            Assert.DoesNotThrow(() => linkFileCommand.Undo());
        }
コード例 #4
0
        public void Undo_DoesNothing()
        {
            var fileToDelete = new FakeFile("fileToDelete");
            fileToDelete.Attributes = FileAttributes.ReadOnly;

            var deleteCommand = new DeleteFileCommand(fileToDelete);

            Assert.DoesNotThrow(() => deleteCommand.Undo());
        }
コード例 #5
0
        public void Execute_FileIsNotReadOnly_FileDeleted()
        {
            var fileToDelete = new FakeFile("fileToDelete");
            fileToDelete.ExistsReturnValue = true;
            var deleteCommand = new DeleteFileCommand(fileToDelete);

            deleteCommand.Execute();

            Assert.IsTrue(fileToDelete.DeleteCalled);
        }
コード例 #6
0
        public void Execute_ValidPaths_PassedToCommandCorrectly()
        {
            FakeFile linkTo = new FakeFile("linkTo");
            FakeFile linkFrom = new FakeFile("linkFrom");

            ICommand linkFileCommand = new CreateFileLinkCommand(linkTo, linkFrom);

            linkFileCommand.Execute();

            Assert.AreSame("linkTo", linkFrom.FileLinkCreatedAt);
        }
コード例 #7
0
        public void Execute_FileIsReadOnly_ReadonlyCleared()
        {
            var fileToDelete = new FakeFile("fileToDelete");
            fileToDelete.ExistsReturnValue = true;
            fileToDelete.Attributes = FileAttributes.ReadOnly;

            var deleteCommand = new DeleteFileCommand(fileToDelete);

            deleteCommand.Execute();

            Assert.AreEqual(FileAttributes.Normal, fileToDelete.Attributes);
        }
コード例 #8
0
        public void Execute_FileDoesNotExist_NoFileDeleteIsCalled()
        {
            var fileToDelete = new FakeFile("fileToDelete");
            fileToDelete.ExistsReturnValue = false;
            fileToDelete.Attributes = FileAttributes.ReadOnly;

            var deleteCommand = new DeleteFileCommand(fileToDelete);

            deleteCommand.Execute();

            Assert.IsFalse(fileToDelete.DeleteCalled);
        }
コード例 #9
0
        public static IFileFactoryForPath GetFileFactoryThatReturnsExistsFor(String fileToReturnTrueFor)
        {
           IFileFactoryForPath fileFactory = (f) =>
            {
                var fileToReturn = new FakeFile(f);

                fileToReturn.ExistsReturnValue = f.Equals(fileToReturnTrueFor);

                return fileToReturn;
            };

            return fileFactory;
        }
コード例 #10
0
        public void GetCommandListForFileTask_LinkToExistsMoveFileNoOverWrite_MoveFileCommandAdded()
        {
            FakeFile linkTo = new FakeFile("LinkTo");
            linkTo.ExistsReturnValue = true;
            FakeFile linkFrom = new FakeFile("LinkFrom");

            var commandFactory = MockRepository.GenerateMock<ICommandFactory>();

            var commandDiscovery = new CommandDiscovery(commandFactory, f => new FakeFile(f), f => new FakeFolder(f));
            var commandList = commandDiscovery.GetCommandListForFileTask(linkTo, linkFrom, true, false);

            Assert.AreEqual(2, commandList.Count);
            commandFactory.AssertWasCalled(cf => cf.MoveFileCommand(Arg<IFile>.Is.Equal(linkTo), 
                                                                    Arg<IFile>.Is.Equal(linkFrom),
                                                                    Arg<Boolean>.Is.Equal(false)));

            commandFactory.AssertWasCalled(cf => cf.CreateFileLinkCommand(Arg<IFile>.Is.Equal(linkTo),
                                                                          Arg<IFile>.Is.Equal(linkFrom)));
        
        }
コード例 #11
0
        public void GetCommandListForFileTask_LinkToDoesntExist_CreateLinkOnly()
        {
            FakeFile linkTo = new FakeFile("LinkTo");
            FakeFile linkFrom = new FakeFile("LinkFrom");

            var commandFactory = MockRepository.GenerateMock<ICommandFactory>();

            var commandDiscovery = new CommandDiscovery(commandFactory, f => new FakeFile(f), f => new FakeFolder(f));
            var commandList = commandDiscovery.GetCommandListForFileTask(linkTo, linkFrom, false, false);

            Assert.AreEqual(1, commandList.Count);
            commandFactory.AssertWasCalled(cf => cf.CreateFileLinkCommand(Arg<IFile>.Is.Equal(linkTo),
                                                                          Arg<IFile>.Is.Equal(linkFrom)));
        }
コード例 #12
0
        public void Status_should_return_status_with_both_filenames_in()
        {
            FakeFile sourceFile = new FakeFile("file1");
            FakeFile targetFile = new FakeFile("file2");

            MoveFileCommand testCopyCommand = new MoveFileCommand(sourceFile, targetFile, false);
            String status = testCopyCommand.UserFeedback;

            Assert.That(status.Contains("file1"));
            Assert.That(status.Contains("file2"));
        }