Example #1
0
        public void Setup()
        {
            var angleIntervallCalculator                = new AngleIntervallCalculator();
            var angelInterpolationCalculator            = new AngelInterpolationCalculator(angleIntervallCalculator);
            var sphericalCoordinatesIntervallCalculator =
                new SphericalCoordinatesIntervallCalculator(angelInterpolationCalculator);
            var radiusPhiThetaToSphericalCoordinatesConverter = new RadiusPhiThetaToSphericalCoordinatesConverter();

            var sphericalArcCalculator = new SphericalArcCalculator(sphericalCoordinatesIntervallCalculator,
                                                                    radiusPhiThetaToSphericalCoordinatesConverter);

            var cartesianToSphericalCalculator = new CartesianToSphericalCalculator();
            var sphericalToCartesianCalculator = new SphericalToCartesianCalculator();

            m_Sut = new CartesianSphericalArcCalculator(cartesianToSphericalCalculator,
                                                        sphericalToCartesianCalculator,
                                                        sphericalArcCalculator);
        }
        public void Calculate_SetsVectorInCartesian_ForGivenValues(
            double expectedRadius,
            double expectedPhiInRadians,
            double expectedThetaInRadians,
            double x,
            double y,
            double z)
        {
            // Arrange
            Angle expectedPhi   = Angle.FromRadians(expectedPhiInRadians);
            Angle expectedTheta = Angle.FromRadians(expectedThetaInRadians);

            var sut = new CartesianToSphericalCalculator();

            var cartesianCoordinates = new CartesianCoordinates
            {
                X = x,
                Y = y,
                Z = z
            };

            sut.CartesianCoordinates = cartesianCoordinates;

            // Act
            sut.Calculate();

            // Assert
            SphericalCoordinates actual = sut.SphericalCoordinates;

            NUnitHelper.AssertIsEquivalent(expectedRadius,
                                           actual.Radius,
                                           "Radius");

            NUnitHelper.AssertIsEquivalent(expectedPhi.Radians,
                                           actual.Phi.Radians,
                                           "Phi");
            NUnitHelper.AssertIsEquivalent(expectedTheta.Radians,
                                           actual.Theta.Radians,
                                           "Theta");
        }