Exemple #1
0
        public async Task AddAsync(TValue value)
        {
            await semaphoreSlim.WaitAsync().ConfigureAwait(false);

            try
            {
                var(anomaly, trigger) = await AddValue(value).ConfigureAwait(false);

                if (anomaly != Anomaly.None)
                {
                    OnAnomalyEvent(value, anomaly);
                }

                if (trigger != Trigger.None)
                {
                    var referenceDate     = DateTimeOffset.Now;
                    var calculationResult = Calculator.Calculate(Values.Values, Anomalies);

                    if (!CompareUtilities.Equals(calculationResult.Normal, Range.Normal))
                    {
                        OnValueChangedEvent(calculationResult.Normal, trigger);
                    }

                    Range = calculationResult;
                    SetCalculationDate(referenceDate);
                    HistorySettings.ReduceValues(Values, Anomalies, referenceDate);
                }
            }
            finally
            {
                semaphoreSlim.Release();
            }

            return;
        }
Exemple #2
0
 public void Equals_When_Double(int value, int compare, bool expected)
 {
     Assert.Equal(expected, CompareUtilities.Equals(RangeFactory.ToTestDouble(value), RangeFactory.ToTestDouble(compare)));
 }
Exemple #3
0
 public void Equals_When_Int(int value, int compare, bool expected)
 {
     Assert.Equal(expected, CompareUtilities.Equals(value, compare));
 }