Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }