public DiskSpaceCollector() { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { systemFilter = FilterDisks_Windows; nameFormatter = FormatDiskName_Windows; } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { systemFilter = FilterDisks_Linux; nameFormatter = FormatDiskName_Linux; mountsReaderLinux = new ReusableFileReader("/proc/mounts"); } }
public void Should_be_reusable() { var path = Path.GetTempFileName(); using var reader = new ReusableFileReader(path); for (var i = 1; i < 10; i++) { var data = Enumerable.Range(0, i).Select(i => $"{i} = {Guid.NewGuid()}").ToArray(); File.WriteAllText(path, string.Join(Environment.NewLine, data)); reader.ReadFirstLine().Should().Be(data[0]); reader.ReadLines().Should().BeEquivalentTo(data); } }