public void BasicStatisticTrackerTest() { AList alist = NewList(); AListStatisticTracker <T> tracker = alist.StatisticTracker(_selector); double sum = 0, sumOfSquares = 0; for (int i = 0; i < 250; i++) { Add(alist, i, _r.Next(alist.Count)); sum += i; sumOfSquares += i * i; Assert.AreEqual(sum, tracker.Statistic.SumTotal); Assert.AreEqual(sumOfSquares, tracker.Statistic.SumOfSquares); } }
public void CanTrackMultipleLists() { AList alist1 = NewList(), alist2 = NewList(); AListStatisticTracker <T> tracker = alist1.StatisticTracker(_selector); alist2.AddObserver(tracker); double sum = 0, sumOfSquares = 0; for (int i = 0; i < 250; i++) { var alist = (i & 1) == 0 ? alist1 : alist2; Add(alist, i, _r.Next(alist.Count)); sum += i; sumOfSquares += i * i; Assert.AreEqual(sum, tracker.Statistic.SumTotal); Assert.AreEqual(sumOfSquares, tracker.Statistic.SumOfSquares); } }