Exemplo n.º 1
0
        public void Calculate_SetsCartesianCoordinates_CaseTwoCounterClockwise()
        {
            // Arrange
            IEnumerable <CartesianCoordinates> expected = CreateCoordinatesCaseTwoCounterClockwise();

            var coordinatesZeroZeroOne = new CartesianCoordinates
            {
                X = 0.0,
                Y = 0.0,
                Z = -1.0
            };

            var coordinatesOneZeroZero = new CartesianCoordinates
            {
                X = 0.0,
                Y = 0.0,
                Z = 1.0
            };

            m_Sut.FromCoordinates = coordinatesZeroZeroOne;
            m_Sut.ToCoordinates   = coordinatesOneZeroZero;
            m_Sut.TurnDirection   = Constants.TurnDirection.Counterclockwise;
            m_Sut.Steps           = 3;

            // Act
            m_Sut.Calculate();

            // Assert
            CartesianCoordinatesHelper.AssertSphericalCoordinates(expected,
                                                                  m_Sut.CartesianCoordinates);
        }
Exemplo n.º 2
0
        public void Calculate_SetsVectorInCartesian_ForGivenValues(
            double radius,
            double phiInRadians,
            double polarThetaInRadians,
            double expectedX,
            double expectedY,
            double expectedZ)
        {
            // Arrange
            var sut = new SphericalToCartesianCalculator();

            var expected = new CartesianCoordinates
            {
                X = expectedX,
                Y = expectedY,
                Z = expectedZ
            };

            var sphericalCoordinates = new SphericalCoordinates
            {
                Radius = radius,
                Phi    = Angle.FromRadians(phiInRadians),
                Theta  = Angle.FromRadians(polarThetaInRadians)
            };

            sut.SphericalCoordinates = sphericalCoordinates;

            // Act
            sut.Calculate();

            // Assert
            CartesianCoordinatesHelper.AssertCartesianCoordinates(expected,
                                                                  sut.CartesianCoordinates);
        }
Exemplo n.º 3
0
        public void Calculate_SetsCartesianCoordinates_CaseFourCounterCounterClockwise()
        {
            // Arrange
            IEnumerable <CartesianCoordinates> expected = CreateCoordinatesCaseFourCounterClockwise();

            var circle = new Circle(0.0,
                                    0.0,
                                    1.0);
            Point from = circle.PointOnCircle(Angle.For315Degrees);
            Point to   = circle.PointOnCircle(Angle.For45Degrees);

            var coordinatesZeroZeroOne = new CartesianCoordinates
            {
                X = from.X,
                Y = from.Y,
                Z = 0.0
            };

            var coordinatesOneZeroZero = new CartesianCoordinates
            {
                X = to.X,
                Y = to.Y,
                Z = 0.0
            };

            m_Sut.FromCoordinates = coordinatesZeroZeroOne;
            m_Sut.ToCoordinates   = coordinatesOneZeroZero;
            m_Sut.TurnDirection   = Constants.TurnDirection.Counterclockwise;
            m_Sut.Steps           = 3;

            // Act
            m_Sut.Calculate();

            // Assert
            CartesianCoordinatesHelper.AssertSphericalCoordinates(expected,
                                                                  m_Sut.CartesianCoordinates);
        }