Exemple #1
0
        public void ShouldNormalizeVector()
        {
            PVector aVector           = new PVector(3, 4, 5);
            float   originalMagnitude = aVector.Mag();

            PVector normalizedVector = aVector.Normalize();

            Assert.Same(normalizedVector, aVector);
            Assert.NotEqual(originalMagnitude, aVector.Mag());
            Assert.Equal(1f, aVector.Mag());
        }
Exemple #2
0
        public void ShouldReturnNormalizedVectorWithoutChangingActrualVector()
        {
            PVector vectorA           = new PVector(3, 4, 5);
            PVector vectorACopy       = vectorA.Copy();
            float   originalMagnitude = vectorA.Mag();
            PVector targetVector      = new PVector(5, 5, 5);

            PVector normalizedVector = vectorA.Normalize(targetVector);

            //Vector A should not change
            Assert.Equal(originalMagnitude, vectorA.Mag());
            Assert.Equal(vectorACopy.X, vectorA.X);
            Assert.Equal(vectorACopy.Y, vectorA.Y);
            Assert.Equal(vectorACopy.Z, vectorA.Z);

            Assert.Same(normalizedVector, targetVector);
            Assert.NotEqual(1f, targetVector.Mag());
        }