public void ShouldCorrectMeanForSkewInTopAndBottomPopulatedIntervals() { var intervals = new long[]{ 100, 110, 120, 130, 140, 150, 1000, 10000 }; var histogram = new Histogram(intervals); for (long i = 100; i < 152; i++) { histogram.AddObservation(i); } Assert.AreEqual(125.02d, histogram.Mean); }
public void ShouldGetFourNinesUpperBound() { var intervals = new long[]{ 1, 10, 100, 1000, 10000 }; var histogram = new Histogram(intervals); for (long i = 1; i < 102; i++) { histogram.AddObservation(i); } Assert.AreEqual(1000L, histogram.FourNinesUpperBound); }
private static void AddObservations(Histogram histogram, params long[] observations) { foreach (var observation in observations) { histogram.AddObservation(observation); } }
public void ShouldNotAddObservation() { var histogram = new Histogram(new long[]{ 10, 20, 30 }); Assert.IsFalse(histogram.AddObservation(31L)); }