public async Task CheckFailsWhenCpuUsageIsAboveThreshold()
        {
            // Arrange
            var options = new CpuUsageIsOk.Options();
            var cpuUsageMock = new Mock<ICpuUsage>();
            cpuUsageMock.Setup(x => x.Read()).ReturnsAsync(options.CpuUsageWarningThresholdInPercent + 1);
            var check = new CpuUsageIsOk(cpuUsageMock.Object);

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

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

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

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