The FakePointList class calls its Calc() method in its constructor to set up some internal variables.
I noticed that the private variable count, used to back the public Count variable is calculated from:
where last is the index of the last point and first is the index of the first point.
Shouldn't it be
count = last - first + 1;