示例#1
0
        public void AutoRenameFileToAvoidDuplicate_returns_available_name()
        {
            //Arrange
            var newDirectory = _testDirectory.CreateSubdirectoryIfNotExist(Guid.NewGuid().ToString());
            var file         = newDirectory.CreateFileIfNotExist("foo.txt");

            try
            {
                //Act
                var res = new FileInfo(FilesAndDirectoryInfoExtension.AutoRenameFileToAvoidDuplicate(file.FullName));

                //Assert
                Assert.AreEqual(newDirectory.FullName, res.Directory?.FullName);
                Assert.AreEqual("foo(2).txt", res.Name);
            }
            finally
            {
                newDirectory.DeleteIfExistAndWaitDeletion();
            }
        }
示例#2
0
        public void AutoRenameFileToAvoidDuplicate_returns_available_name_with_more_file()
        {
            //Arrange
            var newDirectory = _testDirectory.CreateSubdirectoryIfNotExist(Guid.NewGuid().ToString());
            var file         = newDirectory.CreateFileIfNotExist("foo.txt");

            try
            {
                for (int i = 2; i < 10; i++)
                {
                    //Act
                    var res = new FileInfo(FilesAndDirectoryInfoExtension.AutoRenameFileToAvoidDuplicate(file.FullName));
                    res.CreateIfNotExistAndClose(); // create it for the next iteration

                    //Assert
                    Assert.AreEqual(newDirectory.FullName, res.Directory?.FullName);
                    Assert.AreEqual($"foo({i}).txt", res.Name);
                }
            }
            finally
            {
                newDirectory.DeleteIfExistAndWaitDeletion();
            }
        }