예제 #1
0
        public void ShouldCorrectlyRotateVectorByNegativeAngle()
        {
            // Arrage
            var vector = new Vector2(0, -3);
            var angle  = Math.PI / -2;

            // Act
            var rotatedVector = Physic.RotateVector(vector, angle);

            // Assert
            var expectedVector = new Vector2(-3, 0);

            Assert.AreEqual(rotatedVector.X, expectedVector.X, 0.0001);
            Assert.AreEqual(rotatedVector.Y, expectedVector.Y, 0.0001);
        }
예제 #2
0
        public void ShouldCorrectlyRotateVector1()
        {
            // Arrage
            var vector = new Vector2(10, 0);
            var angle  = Math.PI / 4;

            // Act
            var rotatedVector = Physic.RotateVector(vector, angle);

            // Assert
            var expectedVector = Vector2.Normalize(new Vector2(1, 1)) * vector.Length();

            Assert.AreEqual(expectedVector.X, rotatedVector.X, 1e-6);
            Assert.AreEqual(expectedVector.Y, rotatedVector.Y, 1e-6);
        }