/// <summary>Test the capability of setting the working directory.</summary> /// <exception cref="System.IO.IOException"/> public virtual void TestWorkingDirectory() { Path origDir = fileSys.GetWorkingDirectory(); Path subdir = new Path(TestRootDir, "new"); try { // make sure it doesn't already exist Assert.True(!fileSys.Exists(subdir)); // make it and check for it Assert.True(fileSys.Mkdirs(subdir)); Assert.True(fileSys.IsDirectory(subdir)); fileSys.SetWorkingDirectory(subdir); // create a directory and check for it Path dir1 = new Path("dir1"); Assert.True(fileSys.Mkdirs(dir1)); Assert.True(fileSys.IsDirectory(dir1)); // delete the directory and make sure it went away fileSys.Delete(dir1, true); Assert.True(!fileSys.Exists(dir1)); // create files and manipulate them. Path file1 = new Path("file1"); Path file2 = new Path("sub/file2"); string contents = FileSystemTestHelper.WriteFile(fileSys, file1, 1); fileSys.CopyFromLocalFile(file1, file2); Assert.True(fileSys.Exists(file1)); Assert.True(fileSys.IsFile(file1)); CleanupFile(fileSys, file2); fileSys.CopyToLocalFile(file1, file2); CleanupFile(fileSys, file2); // try a rename fileSys.Rename(file1, file2); Assert.True(!fileSys.Exists(file1)); Assert.True(fileSys.Exists(file2)); fileSys.Rename(file2, file1); // try reading a file InputStream stm = fileSys.Open(file1); byte[] buffer = new byte[3]; int bytesRead = stm.Read(buffer, 0, 3); Assert.Equal(contents, Runtime.GetStringForBytes(buffer , 0, bytesRead)); stm.Close(); } finally { fileSys.SetWorkingDirectory(origDir); } }