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; }
public void Equals_When_Double(int value, int compare, bool expected) { Assert.Equal(expected, CompareUtilities.Equals(RangeFactory.ToTestDouble(value), RangeFactory.ToTestDouble(compare))); }
public void Equals_When_Int(int value, int compare, bool expected) { Assert.Equal(expected, CompareUtilities.Equals(value, compare)); }