public void FileInfoReturnsCorrectDirectoryForLongPathFile() { Assert.IsTrue(uncDirectory.Exists()); String tempLongPathFilename; do { tempLongPathFilename = uncDirectory.Combine(Path.GetRandomFileName()); } while (File.Exists(tempLongPathFilename)); Assert.IsFalse(File.Exists(tempLongPathFilename)); using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine("test"); } try { Assert.IsTrue(File.Exists(tempLongPathFilename)); var fileInfo = new FileInfo(tempLongPathFilename); Assert.AreEqual(uncDirectory, fileInfo.Directory.FullName); Assert.AreEqual(uncDirectory.GetFileName(), fileInfo.Directory.Name); } finally { File.Delete(tempLongPathFilename); } }
public void TestCreateTextAndWrite() { Assert.IsTrue(longPathDirectory.Exists()); String tempLongPathFilename; do { tempLongPathFilename = longPathDirectory.Combine(Path.GetRandomFileName()); } while (File.Exists(tempLongPathFilename)); Assert.IsFalse(File.Exists(tempLongPathFilename)); const String fileText = "test"; using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine(fileText); } try { Assert.IsTrue(File.Exists(tempLongPathFilename)); var fileInfo = new FileInfo(tempLongPathFilename); Assert.AreEqual(fileText.Length + Environment.NewLine.Length, fileInfo.Length); } finally { File.Delete(tempLongPathFilename); } }
public void TestInUseMove() { const Boolean recursive = true; #if SHORT_SOURCE var tempPathFilename1 = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.GetRandomFileName()); System.IO.Directory.CreateDirectory(tempPathFilename1); Assert.IsTrue(System.IO.Directory.Exists(Path.GetFullPath(tempPathFilename1))); var tempPathFilename2 = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.GetRandomFileName()); System.IO.Directory.CreateDirectory(tempPathFilename2); Assert.IsTrue(System.IO.Directory.Exists(System.IO.Path.GetFullPath(tempPathFilename2))); try { using ( var writer = System.IO.File.CreateText(System.IO.Path.Combine(tempPathFilename2, "TestInUseMove"))) { string destinationPath = System.IO.Path.GetFullPath(System.IO.Path.Combine(tempPathFilename1, System.IO.Path.GetFileName(tempPathFilename2))); System.IO.Directory.Move(tempPathFilename2, destinationPath); Assert.IsTrue(System.IO.Directory.Exists(System.IO.Path.GetFullPath(tempPathFilename1))); Assert.IsFalse(System.IO.Directory.Exists(System.IO.Path.GetFullPath(tempPathFilename2))); Assert.IsTrue(System.IO.Directory.Exists(destinationPath)); } } catch (Exception e) { throw; } finally { Directory.Delete(tempPathFilename1, recursive); Directory.Delete(tempPathFilename2, recursive); } #endif var tempLongPathFilename1 = longPathDirectory.Combine(Pri.LongPath.Path.GetRandomFileName()); tempLongPathFilename1.CreateDirectory(); Assert.IsTrue(tempLongPathFilename1.GetFullPath().Exists()); var tempLongPathFilename2 = longPathDirectory.Combine(Pri.LongPath.Path.GetRandomFileName()); tempLongPathFilename2.CreateDirectory(); Assert.IsTrue(tempLongPathFilename2.GetFullPath().Exists()); try { using (var writer = File.CreateText(tempLongPathFilename2.Combine("TestInUseMove"))) { var destinationPath = tempLongPathFilename1.Combine(tempLongPathFilename2.GetFileName()).GetFullPath(); Assert.Throws <IOException>(() => Directory.Move(tempLongPathFilename2, destinationPath)); } } finally { Directory.Delete(tempLongPathFilename1, recursive); Directory.Delete(tempLongPathFilename2, recursive); } }
public void TestReadAllTextNewFile() { var filename = new StringBuilder(uncDirectory).Append(@"\").Append("file3.ext").ToString(); const String fileText = "test"; using (File.CreateText(filename)) { } try { File.WriteAllText(filename, fileText); Assert.AreEqual(fileText, File.ReadAllText(filename)); } finally { File.Delete(filename); } }
public void TestReadAllTextWithEncoding() { var tempLongPathFilename = new StringBuilder(uncDirectory).Append(@"\").Append("file26.ext").ToString(); var fi = new FileInfo(tempLongPathFilename); try { using (var streamWriter = File.CreateText(tempLongPathFilename, Encoding.Unicode)) { streamWriter.WriteLine("file26"); } Assert.AreEqual("file26" + Environment.NewLine, File.ReadAllText(fi.FullName, Encoding.Unicode)); } finally { File.Delete(tempLongPathFilename); } }
public void SetUp() { rootTestDir = TestContext.CurrentContext.TestDirectory; longPathDirectory = Util.MakeLongPath(rootTestDir); longPathRoot = longPathDirectory.Substring(0, TestContext.CurrentContext.TestDirectory.Length + 1 + longPathDirectory.Substring(rootTestDir.Length + 1).IndexOf('\\')); longPathDirectory.CreateDirectory(); Debug.Assert(longPathDirectory.Exists()); longPathFilename = new StringBuilder(longPathDirectory).Append(@"\").Append(Filename).ToString(); using (var writer = File.CreateText(longPathFilename)) { writer.WriteLine("test"); } Debug.Assert(File.Exists(longPathFilename)); }
public void TestOpenCreatesEmpty() { var tempLongPathFilename = longPathDirectory.Combine(Path.GetRandomFileName()); try { using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine("test"); } var fi = new FileInfo(tempLongPathFilename); using (var fileStream = fi.Open(FileMode.Append, FileAccess.Read, FileShare.Read)) { Assert.AreEqual(-1, fileStream.ReadByte()); } } finally { File.Delete(tempLongPathFilename); } }
public void TestCreateText() { var filename = new StringBuilder(uncDirectory).Append(@"\").Append("file3.ext").ToString(); const String fileText = "test"; using (var writer = File.CreateText(filename)) { writer.WriteLine(fileText); } try { Assert.IsTrue(File.Exists(filename)); using (var reader = File.OpenText(filename)) { var text = reader.ReadLine(); Assert.AreEqual(fileText, text); } } finally { File.Delete(filename); } }
public void TestAppendText() { var filename = new StringBuilder(longPathDirectory).Append(@"\").Append("file16.ext").ToString(); using (var writer = File.CreateText(filename)) { writer.Write("start"); } Assert.IsTrue(File.Exists(filename)); try { using (var writer = new FileInfo(filename).AppendText()) { writer.WriteLine("end"); } using (var reader = File.OpenText(filename)) { var text = reader.ReadLine(); Assert.AreEqual("startend", text); } } finally { File.Delete(filename); } }
public void CanCreateFileInfoWithLongPathFile() { String tempLongPathFilename; do { tempLongPathFilename = longPathDirectory.Combine(Path.GetRandomFileName()); } while (File.Exists(tempLongPathFilename)); Assert.IsFalse(File.Exists(tempLongPathFilename)); using (var writer = File.CreateText(tempLongPathFilename)) { writer.WriteLine("test"); } try { Assert.IsTrue(File.Exists(tempLongPathFilename)); var fileInfo = new FileInfo(tempLongPathFilename); Assert.IsNotNull(fileInfo); // just to use fileInfo variable } finally { File.Delete(tempLongPathFilename); } }