Exemple #1
0
        public Abv GetAbvWithTemperatureOffset(SpecificGravity originalGravity, SpecificGravity finalGravity)
        {
            Ibu ibu = new Ibu(1.1m);


            return(Abv.FromOgFg(originalGravity, finalGravity));
        }
        public async Task GetCorrectedGravityAsync_ShouldReturnApproximate(decimal sg, decimal temp, decimal expected)
        {
            // Arrange
            var service         = this.CreateService();
            var specificGravity = SpecificGravity.FromGravity(sg);
            var temperature     = temp;

            // Act
            var result = await service.GetCorrectedGravityAsync(
                specificGravity,
                temperature);

            // Assert
            result.Value.Should().BeApproximately(expected, 0.0005m);
        }
Exemple #3
0
        public SpecificGravity GetCorrectedGravity(SpecificGravity specificGravity, decimal temperature)
        {
            var calibrationTemperature            = 20.0m;
            var farenheightTemperature            = (temperature * 9 / 5) + 32;
            var farenheightCalibrationTemperature = (calibrationTemperature * 9 / 5) + 32;

            var correctedGravity =
                specificGravity.Value
                * (1.00130346m
                   - (0.000134722124m * farenheightTemperature)
                   + (0.00000204052596m * farenheightTemperature.ToPowerOf(2))
                   - (0.00000000232820948m * farenheightTemperature.ToPowerOf(3)))
                / (1.00130346m
                   - (0.000134722124m * farenheightCalibrationTemperature)
                   + (0.00000204052596m * farenheightCalibrationTemperature.ToPowerOf(2))
                   - (0.00000000232820948m * farenheightCalibrationTemperature.ToPowerOf(3)));

            return(SpecificGravity.FromGravity(correctedGravity));
        }
Exemple #4
0
 public Abv GetAbv(SpecificGravity originalGravity, SpecificGravity finalGravity)
 {
     return(Abv.FromOgFg(originalGravity, finalGravity));
 }
Exemple #5
0
        public async Task <SpecificGravity> GetCorrectedGravityAsync(SpecificGravity specificGravity, decimal temperature)
        {
            var getCorrectSgTask = Task.Run(() => GetCorrectedGravity(specificGravity, temperature));

            return(await getCorrectSgTask);
        }
        public async Task <Abv> GetAbvAsync(SpecificGravity originalGravity, SpecificGravity finalGravity)
        {
            var getAbvTask = Task.Run(() => GetAbv(originalGravity, finalGravity));

            return(await getAbvTask);
        }