Exemple #1
0
        public void NullGasRatioReturnedWhenDenominatorIsZero()
        {
            IMeasurement numGas = new GasMeasurement()
            {
                Value = 100, Unit = new ConcentrationUnits.PartsPerMillion()
            };
            IMeasurement denGas = new GasMeasurement()
            {
                Value = 0, Unit = new ConcentrationUnits.PartsPerMillion()
            };

            var ratio = AlgorithmHelperCalculations.GasRatio(numGas, denGas);

            Assert.AreEqual(null, ratio);
        }
Exemple #2
0
        public void ValidGasRatioIsCalculated()
        {
            IMeasurement numGas = new GasMeasurement()
            {
                Value = 100, Unit = new ConcentrationUnits.PartsPerMillion()
            };
            IMeasurement denGas = new GasMeasurement()
            {
                Value = 100, Unit = new ConcentrationUnits.PartsPerMillion()
            };

            var ratio = AlgorithmHelperCalculations.GasRatio(numGas, denGas);

            Assert.AreEqual(1.0, ratio);
        }
Exemple #3
0
        public async Task SaveSummary(IReadOnlyCollection <GasMeasurement> gasMeasurements)
        {
            var count   = gasMeasurements.Count;
            var moment  = gasMeasurements.OrderByDescending(x => x.Moment).First().Moment;
            var summary = new GasMeasurement
            {
                BtcVsUsd            = gasMeasurements.Sum(x => x.BtcVsUsd) / count,
                EthGasPriceFast     = gasMeasurements.Sum(x => x.EthGasPriceFast) / count,
                EthGasPriceLow      = gasMeasurements.Sum(x => x.EthGasPriceLow) / count,
                EthGasPriceStandard = gasMeasurements.Sum(x => x.EthGasPriceStandard) / count,
                EthVsUsd            = gasMeasurements.Sum(x => x.EthVsUsd) / count,
                RSKMinGasPrice      = gasMeasurements.Sum(x => x.RSKMinGasPrice) / count,
                Moment = moment,
            };

            await GetSummaryBlob(moment).UploadTextAsync(JsonConvert.SerializeObject(summary));
        }
Exemple #4
0
        public void Save(GasMeasurement gas)
        {
            var l = Get(gas.Moment);

            l.Add(gas);

            GetBlob(gas.Moment).UploadTextAsync(JsonConvert.SerializeObject(l));

            try
            {
                SaveSummary(l);
            }
            catch (Exception e)
            {
                Console.WriteLine($"Error saving summary ({gas.Moment}).");
                Console.WriteLine(e);
            }
        }