예제 #1
0
        public void CalculateIntervall_ReturnsIntervallAngle_ForGivenParameters(
            double fromAngleInDegrees,
            double toAngleInDegrees,
            int steps,
            Constants.TurnDirection turnDirection,
            double expectedIntervallInDegrees)
        {
            Console.WriteLine(
                "fromAngleInDegrees: {0} toAngleInDegrees: {1} steps: {2} turnDirection: {3} expectedIntervallInDegrees: {4}",
                fromAngleInDegrees,
                toAngleInDegrees,
                steps,
                turnDirection,
                expectedIntervallInDegrees);

            // Arrange
            double fromAngle             = Angle.FromDegrees(fromAngleInDegrees).Radians;
            double toAngle               = Angle.FromDegrees(toAngleInDegrees).Radians;
            double expectedIntervall     = Angle.FromDegrees(expectedIntervallInDegrees).Radians;
            AngleIntervallCalculator sut = CreateSut();

            sut.FromAngleInRadians = fromAngle;
            sut.ToAngleInRadians   = toAngle;
            sut.TurnDirection      = turnDirection;
            sut.Steps = steps;

            // Act
            sut.Calculate();

            // Assert
            Assert.AreEqual(expectedIntervall,
                            sut.Intervall);
        }
예제 #2
0
        public void TurnDirection_ReturnsDefault_WhenCalled()
        {
            // Arrange
            AngleIntervallCalculator sut = CreateSut();

            // Act
            // Assert
            Assert.AreEqual(Constants.TurnDirection.Clockwise,
                            sut.TurnDirection);
        }
예제 #3
0
        public void ToAngle_ReturnsDefault_WhenCalled()
        {
            // Arrange
            AngleIntervallCalculator sut = CreateSut();

            // Act
            // Assert
            Assert.AreEqual(0.0,
                            sut.ToAngleInRadians);
        }
예제 #4
0
        public void Steps_ReturnsDefault_WhenCalled()
        {
            // Arrange
            AngleIntervallCalculator sut = CreateSut();

            // Act
            // Assert
            Assert.AreEqual(3,
                            sut.Steps);
        }
예제 #5
0
        public void MaxAngleInRadians_ReturnsDefault_WhenCalled()
        {
            // Arrange
            AngleIntervallCalculator sut = CreateSut();

            // Act
            // Assert
            Assert.AreEqual(BaseAngle.RadiansFor360Degrees,
                            sut.MaxAngleInRadians);
        }
        public void Setup()
        {
            var angleIntervallCalculator                = new AngleIntervallCalculator();
            var angelInterpolationCalculator            = new AngelInterpolationCalculator(angleIntervallCalculator);
            var sphericalCoordinatesIntervallCalculator =
                new SphericalCoordinatesIntervallCalculator(angelInterpolationCalculator);
            var radiusPhiThetaToSphericalCoordinatesConverter = new RadiusPhiThetaToSphericalCoordinatesConverter();

            m_Sut = new SphericalArcCalculator(sphericalCoordinatesIntervallCalculator,
                                               radiusPhiThetaToSphericalCoordinatesConverter);
        }
        private static AngelInterpolationCalculator CreateSut()
        {
            var angleIntervallCalculator = new AngleIntervallCalculator();

            return(new AngelInterpolationCalculator(angleIntervallCalculator));
        }