tests/DotNetCommon.Test/Extensions/FileAndDirectoryExtensions/FileInfoTests.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DotNetCommon.Test.Extensions.FileAndDirectoryExtensions
{
using System;
using System.IO;
using System.Linq;
using System.Text;
using NUnit.Framework;
using Shouldly;
using DotNetCommon.Extensions;
[TestFixture]
public class FileInfoTests : Context
{
[OneTimeSetUp]
public void SetUp()
{
Given_a_temp_hidden_file();
Given_a_temp_non_hidden_file();
When_checking_if_the_files_are_hidden();
}
[Test]
public void Then_isHidden_for_the_hidden_file_should_be_correct()
{
ResultOne.ShouldBeTrue();
}
[Test]
public void Then_isHidden_for_the_non_hidden_file_should_be_correct()
{
ResultTwo.ShouldBeFalse();
}
[Test]
public void When_reading_all_text_lines_in_file()
{
var fileInfo = new FileInfo(Path.GetRandomFileName());
try
{
using (var writer = new StreamWriter(File.Open(fileInfo.FullName, FileMode.Create, FileAccess.Write, FileShare.Read)))
{
writer.WriteLine("1stLine");
writer.WriteLine("2ndLine");
writer.Flush();
// This does not work
Should.Throw<IOException>(() => File.ReadAllLines(fileInfo.FullName))
.Message.ShouldStartWith($"The process cannot access the file '{fileInfo.FullName}' because it is being used by another process.");
// But this one does
var linesExplicitEncoding = fileInfo.ReadLines(Encoding.UTF8).ToArray();
linesExplicitEncoding.ShouldNotBeNull();
linesExplicitEncoding.Length.ShouldBe(2);
linesExplicitEncoding[0].ShouldBe("1stLine");
linesExplicitEncoding[1].ShouldBe("2ndLine");
// So does this one
var linesDefaultEncoding = fileInfo.ReadLines().ToArray();
后面还有 62 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
