public void RecordValueWithCount_Overflow_ShouldThrowException()
 {
     var highestTrackableValue = HighestTrackableValue;
     var recorder = new Recorder(1, highestTrackableValue, NumberOfSignificantValueDigits, (id, lowest, highest, sf) => new LongHistogram(id, lowest, highest, sf));
     Assert.Throws<IndexOutOfRangeException>(() => recorder.RecordValueWithCount(highestTrackableValue * 3, 100));
 }
 public void RecordValueWithCount_increments_CountAtValue()
 {
     var recorder = new Recorder(1, HighestTrackableValue, NumberOfSignificantValueDigits, (id, lowest, highest, sf) => new LongHistogram(id, lowest, highest, sf));
     recorder.RecordValueWithCount(1000, 10);
     recorder.RecordValueWithCount(1000, 10);
     recorder.RecordValueWithCount(5000, 20);
     var histogram = recorder.GetIntervalHistogram();
     Assert.AreEqual(20, histogram.GetCountAtValue(1000));
     Assert.AreEqual(20, histogram.GetCountAtValue(5000));
 }