public async Task GetRawMoisture_ValidValueBadRequest_Throws()
        {
            // Arrange
            SetupMoisture("123", HttpStatusCode.BadRequest);

            // Act
            await Assert.ThrowsAsync <MoistureService.MoistureApiException>(() => MoistureService.GetRawMoisture());
        }
        public MoistureServiceTests()
        {
            HttpMessageHandlerMock = new Mock <HttpMessageHandler>();
            HttpClientFactoryMock  = new Mock <IHttpClientFactory>();
            HttpClientFactoryMock
            .Setup(_ => _.CreateClient(It.IsAny <string>()))
            .Returns(new HttpClient(HttpMessageHandlerMock.Object));

            MoistureService = new MoistureService(HttpClientFactoryMock.Object, NullLogger <MoistureService> .Instance);
        }
        public async Task GeRawtMoisture_ValidValueAndOk_ReturnsValue()
        {
            // Arrange
            SetupMoisture("123");

            // Act
            var actual = await MoistureService.GetRawMoisture();

            // Assert
            Assert.Equal(123, actual);
        }
        public async Task GetRawMoisture_InvalidValueAndOk_Throws()
        {
            // Arrange
            SetupMoisture("invalid");

            // Act
            await Assert.ThrowsAsync <MoistureService.MoistureInvalidValueException>(() => MoistureService.GetRawMoisture());
        }