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(); } }
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(); } }