Esempio n. 1
0
        public void ValidOperation_ValidData_TrueIsReturned()
        {
            var validator = new OperationValidation(f => new FakeFile(f), f => new FakeFolder(f));

            var data = new LinkOperationData()
            {
                LinkTo = "test1", CreateLinkAt = "test2"
            };

            String  errorMessage;
            Boolean valid = validator.ValidOperation(data, out errorMessage);

            Assert.IsTrue(valid);
        }
Esempio n. 2
0
        public void ValidOperation_File_LinkToExists_ValidOperation()
        {
            String createLinkAt = "linkAt";
            String linkTo       = "linkTo";
            var    fileFactory  = GetFileFactoryThatReturnsExistsFor(linkTo);
            var    validator    = new OperationValidation(fileFactory, f => new FakeFolder(f));


            var data = new LinkOperationData()
            {
                LinkTo = createLinkAt, CreateLinkAt = linkTo, CopyBeforeDelete = true
            };

            String  errorMessage;
            Boolean valid = validator.ValidOperation(data, out errorMessage);

            Assert.IsTrue(valid);
        }
Esempio n. 3
0
        public void ValidOperation__CreateLinkAtExistsNoCopyBeforeDeleteLinkToDoesNotExist_FalseIsReturnedAlongWithErrorMessage()
        {
            String createLinkAt = "linkAt";
            String linkTo       = "linkTo";
            var    fileFactory  = GetFileFactoryThatReturnsExistsFor(createLinkAt);
            var    validator    = new OperationValidation(fileFactory, f => new FakeFolder(f));


            var data = new LinkOperationData()
            {
                LinkTo = createLinkAt, CreateLinkAt = linkTo, CopyBeforeDelete = false
            };

            String  errorMessage;
            Boolean valid = validator.ValidOperation(data, out errorMessage);

            Assert.IsFalse(valid);
            Assert.AreEqual("When creating a file link the linked to file must exist", errorMessage);
        }
Esempio n. 4
0
        public void ValidOperation_AttemptsToLinkFolderToFile_NotValid()
        {
            String createLinkAt  = "linkAt";
            String linkTo        = "linkTo";
            var    fileFactory   = GetFileFactoryThatReturnsExistsFor(createLinkAt);
            var    folderFactory = CommandDiscoveryTests.GetFolderFactoryThatReturnsExistsFor(linkTo);
            var    validator     = new OperationValidation(fileFactory, folderFactory);


            var data = new LinkOperationData()
            {
                LinkTo = linkTo, CreateLinkAt = createLinkAt, CopyBeforeDelete = true
            };

            String  errorMessage;
            Boolean valid = validator.ValidOperation(data, out errorMessage);

            Assert.IsFalse(valid);
        }
        public void PerformOperation_ValidData_CommandsQueuedInCommandRunnerFromCommandDiscovery()
        {
            List <ICommand> commandList      = new List <ICommand>();
            var             commandDiscovery = MockRepository.GenerateMock <ICommandDiscovery>();

            commandDiscovery.Stub(c => c.GetCommandListTask(Arg <String> .Is.Anything, Arg <String> .Is.Anything, Arg <Boolean> .Is.Anything, Arg <Boolean> .Is.Anything))
            .Return(commandList);

            var runner = MockRepository.GenerateMock <ITransactionalCommandRunner>();
            var linker = GetLinkerService(commandDiscovery, runner);

            LinkOperationData data = new LinkOperationData {
                CopyBeforeDelete = true, CreateLinkAt = "", LinkTo = "", OverwriteExistingFiles = true
            };

            linker.SetOperationData(data);

            linker.PerformOperation();

            runner.AssertWasCalled(r => r.QueueRange(commandList));
        }
        public void PerformOperation_ValidDataAndDispatcher_StatusSetToCommandDiscoveryRunning()
        {
            var commandDiscovery = MockRepository.GenerateMock <ICommandDiscovery>();
            var runner           = MockRepository.GenerateMock <ITransactionalCommandRunner>();

            var linker             = GetLinkerService(commandDiscovery, runner);
            var statusData         = linker.GetStatusData(Dispatcher.CurrentDispatcher);
            LinkOperationData data = new LinkOperationData {
                CopyBeforeDelete = true, CreateLinkAt = "", LinkTo = "", OverwriteExistingFiles = true
            };

            linker.SetOperationData(data);

            Boolean statusSet = false;

            statusData.PropertyChanged += (s, ea) => statusSet |= ea.PropertyName.Equals("Message") && statusData.Message.Equals("Building Task List");

            linker.PerformOperation();

            Assert.IsTrue(statusSet);
        }
        public void PerformOperation_ValidData_CommandIsRequestedFromCommandDiscovery()
        {
            String linkTo   = "Test2";
            String linkFrom = "Test1";

            var commandDiscovery = MockRepository.GenerateMock <ICommandDiscovery>();
            var linker           = GetLinkerService(commandDiscovery);

            LinkOperationData data = new LinkOperationData {
                CopyBeforeDelete = true, CreateLinkAt = linkFrom, LinkTo = linkTo, OverwriteExistingFiles = true
            };

            linker.SetOperationData(data);

            linker.PerformOperation();

            commandDiscovery.AssertWasCalled(d => d.GetCommandListTask(
                                                 Arg <String> .Is.Equal(linkTo),
                                                 Arg <String> .Is.Equal(linkFrom),
                                                 Arg <Boolean> .Matches(b => data.CopyBeforeDelete),
                                                 Arg <Boolean> .Matches(b => data.OverwriteExistingFiles)));
        }
Esempio n. 8
0
        public Boolean ValidOperation(LinkOperationData linkData, out String errorMessage)
        {
            errorMessage = String.Empty;

            if (PathsMatch(linkData))
            {
                errorMessage = "A path can not be linked to itself";
                return(false);
            }

            if (!IsValidFileLink(linkData))
            {
                errorMessage = "When creating a file link the linked to file must exist";
                return(false);
            }

            if (TryingToLinkFileToFolder(linkData))
            {
                errorMessage = "A file can not be linked to a folder";
                return(false);
            }

            return(true);
        }
Esempio n. 9
0
 public void SetOperationData(LinkOperationData linkData)
 {
     _operationData = linkData;
 }
Esempio n. 10
0
 private Boolean PathsMatch(LinkOperationData linkData)
 {
     return(linkData.CreateLinkAt.Equals(linkData.LinkTo, StringComparison.CurrentCultureIgnoreCase));
 }