예제 #1
0
        public void TestConversionToCartesian(double theta, int expectedX, int expectedY)
        {
            var pc = new GridPolarCoordinates(theta, 10);
            var c  = pc.ToGridCartesian();

            Assert.Equal(expectedX, c.X);
            Assert.Equal(expectedY, c.Y);
        }
예제 #2
0
        public void TestRotation()
        {
            var pc = new GridPolarCoordinates(Directions.BottomRight, 10);

            pc = pc.Rotation(Directions.Degree45);
            Assert.Equal(Directions.Bottom, pc.Theta);
            pc = pc.Rotation(Directions.Degree90);
            Assert.Equal(Directions.Left, pc.Theta);
        }
예제 #3
0
        public void TestConversionFromGridCartesian()
        {
            var pc = GridPolarCoordinates.FromGridCartesian(new GridCoordinatePair(10, 0));

            Assert.Equal(Directions.Right, pc.Theta);
            Assert.Equal(10, pc.Radius);
            pc = GridPolarCoordinates.FromGridCartesian(new GridCoordinatePair(0, 10));
            Assert.Equal(Directions.Bottom, pc.Theta);
            Assert.Equal(10, pc.Radius);
        }
예제 #4
0
        public void TestEquality()
        {
            var pc1 = new GridPolarCoordinates(Math.PI, 1);
            var pc2 = new GridPolarCoordinates(Math.PI * 3, 1);
            var pc3 = new GridPolarCoordinates(Math.PI + 2, 1);

            Assert.Equal(pc1, pc2);
            Assert.True(pc1 == pc2);
            Assert.NotEqual(pc1, pc3);
            Assert.True(pc1 != pc3);
        }