public void GetCommandListForFolderTask_TargetDoesNotExist_JustCreateLinkCommandReturned() { ICommandFactory factory = new MockCommandFactory(); IFolder linkTo = MockRepository.GenerateMock<IFolder>(); linkTo.Stub(l => l.FolderExists()).Return(false); IFolder linkFrom = MockRepository.GenerateMock<IFolder>(); linkFrom.Stub(l => l.FolderExists()).Return(true); ICommandDiscovery discoverer = new CommandDiscovery(factory, null, null); List<ICommand> taskList = discoverer.GetCommandListForFolderTask(linkTo, linkFrom, false, false); Assert.IsTrue(taskList.Count() == 1, "There should be one item in the list"); Assert.IsTrue(((MockCommand)taskList[0]).CommandName.Equals("CreateLinkCommand")); }
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))); }
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))); }
public void GetCommandListTask_TargetDoesNotExistSourceIsFolder_FolderLinkCreated() { String nonExistentPath = "testFile"; String folderTarget = @"c:\testFolder"; IFileFactoryForPath fileFactory = (s) => new FakeFile(s); var folderFactory = GetFolderFactoryThatReturnsExistsFor(folderTarget); var factory = MockRepository.GenerateMock<ICommandFactory>(); var commandDiscovery = new CommandDiscovery(factory, fileFactory, folderFactory); commandDiscovery.GetCommandListTask(nonExistentPath, folderTarget, false, false); factory.AssertWasCalled(f => f.CreateFolderLinkCommand(Arg<IFolder>.Matches(folder => folder.FolderPath.Equals(nonExistentPath)), Arg<IFolder>.Matches(folder => folder.FolderPath.Equals(folderTarget)))); }
public void GetCommandListTask_TargetDoesNotExistSourceIsFile_FileLinkCreated() { String nonExistentPath = "testFile"; String targetPath = "target"; IFileFactoryForPath fileFactory = GetFileFactoryThatReturnsExistsFor(targetPath); IFolderFactoryForPath folderFactory = (s) => new FakeFolder(s); var factory = MockRepository.GenerateMock<ICommandFactory>(); var commandDiscovery = new CommandDiscovery(factory, fileFactory, folderFactory); commandDiscovery.GetCommandListTask(nonExistentPath, targetPath, false, false); factory.AssertWasCalled(f => f.CreateFileLinkCommand(Arg<IFile>.Matches(file => file.FullFilePath.Equals(nonExistentPath)), Arg<IFile>.Matches(file => file.FullFilePath.Equals(targetPath)))); }
public void GetCommandListTask_File_TargetIsFolderFileNameIsAppended() { String linkToFile = "testFile"; String folderTarget = @"c:\testFolder"; String expectedTarget = @"c:\testFolder\testFile"; var fileFactory = GetFileFactoryThatReturnsExistsFor(linkToFile); var folderFactory = GetFolderFactoryThatReturnsExistsFor(folderTarget); var factory = MockRepository.GenerateMock<ICommandFactory>(); var commandDiscovery = new CommandDiscovery(factory, fileFactory, folderFactory); commandDiscovery.GetCommandListTask(linkToFile, folderTarget, false, false); factory.AssertWasCalled(f => f.CreateFileLinkCommand(Arg<IFile>.Matches(linkTo => linkTo.FullFilePath.Equals(linkToFile)), Arg<IFile>.Matches(linkFrom => linkFrom.FullFilePath.Equals(expectedTarget)))); }
public void GetCommandListTask_LinkAtIsFile_TargetIsFolderExceptionThrown() { String linkToFile = "testFile"; String folderTarget = @"c:\testFolder"; var folderFactory = GetFolderFactoryThatReturnsExistsFor(linkToFile); var fileFactory = GetFileFactoryThatReturnsExistsFor(folderTarget); var factory = MockRepository.GenerateMock<ICommandFactory>(); var commandDiscovery = new CommandDiscovery(factory, fileFactory, folderFactory); Assert.Throws<InvalidOperationException>(() => commandDiscovery.GetCommandListTask(linkToFile, folderTarget, false, false)); }
public void GetCommandListTask_File_ReturnedCommandListContainsFileLink() { var factory = MockRepository.GenerateMock<ICommandFactory>(); var commandDiscovery = new CommandDiscovery(factory, f => new FakeFile(f) { ExistsReturnValue = true}, f => new FakeFolder(f)); commandDiscovery.GetCommandListTask("testFile", "", false, false); factory.AssertWasCalled(f => f.CreateFileLinkCommand(Arg<IFile>.Matches(file => file.FullFilePath.Equals("testFile")), Arg<IFile>.Is.Anything)); }
public void GetCommandListTask_Folder_ReturnedCommandListContainsFolderLink() { var factory = MockRepository.GenerateMock<ICommandFactory>(); var commandDiscovery = new CommandDiscovery(factory, f => new FakeFile(f), f => new FakeFolder(f)); commandDiscovery.GetCommandListTask("testFile", "", false, false); factory.AssertWasCalled(f => f.CreateFolderLinkCommand(Arg<IFolder>.Matches(folder => folder.FolderPath.Equals("testFile")), Arg<IFolder>.Is.Anything)); }
public void GetCommandListForFolderTask_TargetHasSubFolderWithOneWithOverwriteFile_SubfolderAndOneIsMovedCreatedInSource() { ICommandFactory factory = MockRepository.GenerateMock<ICommandFactory>(); FakeFolder subFolder = new FakeFolder(@"c:\target\subfolder\"); subFolder.FileList = new List<IFile> { Helpers.CreateStubHelpers.GetIFileStub("1.txt", @"c:\target\subfolder\") }; FakeFolder linkTo = new FakeFolder(@"c:\target\") { FolderExistsReturnValue = true }; linkTo.SubFolderList = new List<IFolder> { subFolder }; FakeFolder linkFrom = new FakeFolder(@"c:\destination\") { FolderExistsReturnValue = true }; ICommandDiscovery discoverer = new CommandDiscovery(factory, f => new FakeFile(f), f => new FakeFolder(f) { FolderExistsReturnValue = false }); discoverer.GetCommandListForFolderTask(linkTo, linkFrom, true, true); factory.AssertWasCalled(f => f.MoveFileCommand( Arg<IFile>.Matches(source => source.FullFilePath.Equals(@"c:\target\subfolder\1.txt")), Arg<IFile>.Matches(target => target.FullFilePath.Equals(@"c:\destination\subfolder\1.txt")), Arg<Boolean>.Is.Equal(true) )); }
public void GetCommandListForFolderTask_TargetHasEmptySubFolder_SubfolderCreatedInSource() { ICommandFactory factory = MockRepository.GenerateMock<ICommandFactory>(); FakeFolder linkTo = new FakeFolder(@"c:\target\") { FolderExistsReturnValue = true }; linkTo.SubFolderList = new List<IFolder>() { new FakeFolder(@"c:\target\subfolder\") }; FakeFolder linkFrom = new FakeFolder(@"c:\destination\") { FolderExistsReturnValue = true }; ICommandDiscovery discoverer = new CommandDiscovery(factory, f => new FakeFile(f), f => new FakeFolder(f) { FolderExistsReturnValue = false }); List<ICommand> taskList = discoverer.GetCommandListForFolderTask(linkTo, linkFrom, true, false); factory.AssertWasCalled(f => f.CreateFolder(Arg<IFolder>.Matches(folder => folder.FolderPath.Equals(@"c:\destination\subfolder\")))); }
public void GetCommandListForFolderTask_SourceDoesNotExists_CreateFolderCommandIsFirst() { ICommandFactory factory = new MockCommandFactory(); IFolder linkTo = new FakeFolder(@"c:\target\"); FakeFolder linkFrom = new FakeFolder(@"c:\destination\"); linkFrom.FolderExistsReturnValue = false; ICommandDiscovery discoverer = new CommandDiscovery(factory, (f) => new FakeFile(f), f => new FakeFolder(f)); List<ICommand> taskList = discoverer.GetCommandListForFolderTask(linkTo, linkFrom, false, false); MockCommand mockCommand = (MockCommand)taskList[0]; Assert.AreEqual("CreateFolder", mockCommand.CommandName); Assert.AreEqual(mockCommand.ctorParams[0], linkFrom); }
public void GetCommandListForFolderTask_TargetExistsOneFiles_MoveFileThenDeleteFolderThenCreateLinkReturned() { ICommandFactory factory = new MockCommandFactory(); FakeFolder linkTo = new FakeFolder(); linkTo.FileList = new List<IFile> { Helpers.CreateStubHelpers.GetIFileStub("1.txt", @"c:\path") }; linkTo.FolderExistsReturnValue = true; FakeFolder linkFrom = new FakeFolder(@"c:\dest\"); linkFrom.FolderExistsReturnValue = true; ICommandDiscovery discoverer = new CommandDiscovery(factory, (f) => new FakeFile(f), f => new FakeFolder(f)); List<ICommand> taskList = discoverer.GetCommandListForFolderTask(linkTo, linkFrom, true, false); Assert.IsTrue(taskList.Count() == 3, "There should be three items in the list"); Assert.IsTrue(((MockCommand)taskList[0]).CommandName.Equals("MoveFileCommand")); Assert.IsTrue(((MockCommand)taskList[1]).CommandName.Equals("DeleteFolderCommand")); Assert.IsTrue(((MockCommand)taskList[2]).CommandName.Equals("CreateLinkCommand")); }
public void GetCommandListForFolderTask_TargetExistsNoFiles_DeleteFolderThenCreateLinkReturned() { ICommandFactory factory = new MockCommandFactory(); FakeFolder linkTo = new FakeFolder() { FolderExistsReturnValue = true }; FakeFolder linkFrom = new FakeFolder(@"c:\dest\"); linkFrom.FolderExistsReturnValue = true; ICommandDiscovery discoverer = new CommandDiscovery(factory, s => new FakeFile(s), f => new FakeFolder(f)); List<ICommand> taskList = discoverer.GetCommandListForFolderTask(linkTo, linkFrom, true, false); Assert.IsTrue(taskList.Count() == 2, "There should be three items in the list"); Assert.IsTrue(((MockCommand)taskList[0]).CommandName.Equals("DeleteFolderCommand")); Assert.IsTrue(((MockCommand)taskList[1]).CommandName.Equals("CreateLinkCommand")); }