public void TestVaryingSort() { int countA = 0; MovingPoint2D pA = new MovingPoint2D(() => { countA++; }, 0, 0); int countB = 0; MovingPoint2D pB = new MovingPoint2D(() => { countB++; }, 1, 1); int countC = 0; MovingPoint2D pC = new MovingPoint2D(() => { countC++; }, 2, 2); List <MovingPoint2D> list = new List <MovingPoint2D> { pC, pB, pA }; Assert.Equal(new List <MovingPoint2D> { pC, pB, pA }, list); list.Sort(); Assert.Equal(new List <MovingPoint2D> { pA, pB, pC }, list); Assert.Equal(0, countA); Assert.Equal(0, countB); Assert.Equal(0, countC); pA.X = 3; list.Sort(); Assert.Equal(new List <MovingPoint2D> { pB, pC, pA }, list); pB.X = 3; list.Sort(); Assert.Equal(new List <MovingPoint2D> { pC, pA, pB }, list); pA.Y = 5; list.Sort(); Assert.Equal(new List <MovingPoint2D> { pC, pB, pA }, list); }
public void TestReadWriteY() { int count = 0; void Counter() { count++; } MovingPoint2D p = new MovingPoint2D(Counter); Assert.Equal(0, count); Assert.Equal(new Real(0), p.Y); p.Y = 250; Assert.Equal(new Real(250), p.Y); Assert.Equal(1, count); p.Y = -1024.125; Assert.Equal(new Real(-1024.125), p.Y); Assert.Equal(2, count); }
public void TestReadWriteX() { int count = 0; void Counter() { count++; } MovingPoint2D p = new MovingPoint2D(Counter); Assert.Equal(0, count); Assert.Equal(0.0, p.X); p.X = 250; Assert.Equal(250.0, p.X); Assert.Equal(1, count); p.X = -1024.125; Assert.Equal(-1024.125, p.X); Assert.Equal(2, count); }