/** * Rename file if exists appending current timestamp * * @return True if rename successful. False otherwise */ public NameSorterDefs.FileRenameStatus renameFile(string fileName, string newFileName) { if (isFileExists(fileName)) { NameSorterDefs.FileRenameStatus status = NameSorterDefs.FileRenameStatus.Success; try { File.Move(fileName, newFileName); Console.WriteLine(NameSorterLogs.INF_FILE_RENAME, fileName, newFileName); } catch (ArgumentException e) { Console.WriteLine(NameSorterLogs.ERR_ARGUMENT_EXCEPTION, fileName); Console.WriteLine(e); status = NameSorterDefs.FileRenameStatus.Failed; } catch (PathTooLongException e) { Console.WriteLine(e); Console.WriteLine(NameSorterLogs.ERR_PATH_TOO_LONG_EXCEPTION, fileName); status = NameSorterDefs.FileRenameStatus.Failed; } catch (IOException e) { Console.WriteLine(e); Console.WriteLine(NameSorterLogs.ERR_IO_EXCEPTION, fileName); status = NameSorterDefs.FileRenameStatus.Failed; } catch (UnauthorizedAccessException e) { Console.WriteLine(e); Console.WriteLine(NameSorterLogs.ERR_UNAUTHORIZED_ACCESS_EXCEPTION, fileName); status = NameSorterDefs.FileRenameStatus.Failed; } catch (NotSupportedException e) { Console.WriteLine(e); Console.WriteLine(NameSorterLogs.ERR_NOT_SUPPORTED_EXCEPTION, fileName); status = NameSorterDefs.FileRenameStatus.Failed; } return(status); } else { return(NameSorterDefs.FileRenameStatus.Skipped); } }
public void TestFileHandler_renameFile_Invalid_Output_File() { string fileName = "TestFile.txt"; string content = "This is a test"; string newFileName = "Test///@#/$/,/./<>)(*&^%$#@!~!@%File.txt"; File.WriteAllText(fileName, content); FileHandler fileHandler = new FileHandler(); NameSorterDefs.FileRenameStatus status = fileHandler.renameFile(fileName, newFileName); File.Delete(fileName); Assert.AreEqual(NameSorterDefs.FileRenameStatus.Failed, status); }
public void TestFileHandler_renameFile_Existing_File() { string fileName = "TestFile.txt"; string content = "This is a test"; string newFileName = "TestFile2.txt"; File.WriteAllText(fileName, content); FileHandler fileHandler = new FileHandler(); NameSorterDefs.FileRenameStatus status = fileHandler.renameFile(fileName, newFileName); File.Delete(newFileName); Assert.AreEqual(NameSorterDefs.FileRenameStatus.Success, status); }