public async Task CheckFailsWhenFreeSpaceIsBelowThreshold()
        {
            // Arrange
            var options = new SystemDriveHasFreeSpace.Options();
            var driveSpaceMock = new Mock<IAvailableSystemDriveSpace>();
            driveSpaceMock.Setup(x => x.Read()).ReturnsAsync(options.SystemDriveAvailableFreeSpaceWarningThresholdInBytes - 1);
            var check = new SystemDriveHasFreeSpace(driveSpaceMock.Object);

            // Act
            var result = await check.Check();

            // Assert
            Assert.That(result.Passed, Is.False);
        }
        public async Task CheckFailsWhenFreeSpaceThrows()
        {
            // Arrange
            var exception = new Exception("error message");
            var driveSpaceMock = new Mock<IAvailableSystemDriveSpace>();
            driveSpaceMock.Setup(x => x.Read()).ThrowsAsync(exception);
            var check = new SystemDriveHasFreeSpace(driveSpaceMock.Object);

            // Act
            var result = await check.Check();

            // Assert
            Assert.That(result.Passed, Is.False);
            Assert.That(result.Output, Is.EqualTo(exception.Message));
        }