コード例 #1
0
        public void TestOpenOpen()
        {
            var fi = new FileInfo(filePath);

            using (var fileStream = fi.Open(FileMode.Open)) {
                Assert.IsNotNull(fileStream);
            }
        }
コード例 #2
0
        public void TestOpenCreateNew()
        {
            var fi = new FileInfo(filePath);

            Assert.Throws <IOException>(() => {
                using (var fileStream = fi.Open(FileMode.CreateNew)) {
                    Assert.IsNotNull(fileStream);
                }
            });
        }
コード例 #3
0
        public void TestOpenReadWithWrite()
        {
            var tempLongPathFilename = new StringBuilder(uncDirectory).Append(@"\").Append("file31.ext").ToString();
            var fi = new FileInfo(tempLongPathFilename);

            try {
                Assert.Throws <NotSupportedException>(() => {
                    using (var fileStream = fi.Open(FileMode.Append, FileAccess.Read)) {
                        fileStream.WriteByte(43);
                    }
                });
            }
            finally {
                Pri.LongPath.File.Delete(tempLongPathFilename);
            }
        }
コード例 #4
0
        public void TestOpenCreatesEmpty()
        {
            var tempLongPathFilename = uncDirectory.Combine(Path.GetRandomFileName());

            try {
                using (var writer = Pri.LongPath.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 {
                Pri.LongPath.File.Delete(tempLongPathFilename);
            }
        }
コード例 #5
0
        public void TestOpenHidden()
        {
            var tempLongPathFilename = new StringBuilder(uncDirectory).Append(@"\").Append("file25.ext").ToString();
            var fi = new FileInfo(tempLongPathFilename);

            using (fi.Create()) { }

            try {
                Pri.LongPath.File.SetAttributes(fi.FullName, Pri.LongPath.File.GetAttributes(fi.FullName) | FileAttributes.Hidden);

                Assert.Throws <UnauthorizedAccessException>(() => {
                    using (var fileStream = fi.Open(FileMode.Create)) {
                        Assert.IsNotNull(fileStream);
                    }
                });
            }
            finally {
                Pri.LongPath.File.Delete(tempLongPathFilename);
            }
        }
コード例 #6
0
        public void TestOpenAppend()
        {
            var tempLongPathFilename = new StringBuilder(uncDirectory).Append(@"\").Append("file26.ext").ToString();
            var fi = new FileInfo(tempLongPathFilename);

            using (var streamWriter = fi.CreateText()) {
                streamWriter.WriteLine("file26");
            }

            try {
                using (var fileStream = fi.Open(FileMode.Append)) {
                    Assert.IsNotNull(fileStream);

                    using (var streamWriter = new StreamWriter(fileStream)) {
                        streamWriter.WriteLine("eof");
                    }
                }

                Assert.AreEqual("file26" + Environment.NewLine + "eof" + Environment.NewLine, File.ReadAllText(fi.FullName));
            }
            finally {
                File.Delete(tempLongPathFilename);
            }
        }