#if !UNITY_5_6_OR_NEWER using System; using NUnit.Framework; namespace LinearAlgebra.Test { public class SphericalTest { [SetUp] public void Setup() { } [Test] public void FromVector3() { Vector3 v = new(0, 0, 1); Spherical s = Spherical.FromVector3(v); Assert.AreEqual(1.0f, s.distance, "s.distance 0 0 1"); Assert.AreEqual(0.0f, s.direction.horizontal, "s.hor 0 0 1"); Assert.AreEqual(0.0f, s.direction.vertical, 1.0E-05F, "s.vert 0 0 1"); v = new(0, 1, 0); s = Spherical.FromVector3(v); Assert.AreEqual(1.0f, s.distance, "s.distance 0 1 0"); Assert.AreEqual(0.0f, s.direction.horizontal, "s.hor 0 1 0"); Assert.AreEqual(90.0f, s.direction.vertical, "s.vert 0 1 0"); v = new(1, 0, 0); s = Spherical.FromVector3(v); Assert.AreEqual(1.0f, s.distance, "s.distance 1 0 0"); Assert.AreEqual(90.0f, s.direction.horizontal, "s.hor 1 0 0"); Assert.AreEqual(0.0f, s.direction.vertical, 1.0E-05F, "s.vert 1 0 0"); } [Test] public void Addition() { Spherical v1 = Spherical.Degrees(1, 45, 0); Spherical v2 = Spherical.zero; Spherical r = Spherical.zero; r = v1 + v2; Assert.AreEqual(v1.distance, r.distance, 1.0E-05F, "Addition(0,0,0)"); r = v1; r += v2; Assert.AreEqual(v1.distance, r.distance, 1.0E-05F, "Addition(0,0,0)"); v2 = Spherical.Degrees(1, 0, 90); r = v1 + v2; Assert.AreEqual(Math.Sqrt(2), r.distance, 1.0E-05F, "Addition(1 0 90)"); Assert.AreEqual(45.0f, r.direction.horizontal, "Addition(1 0 90)"); Assert.AreEqual(45.0f, r.direction.vertical, "Addition(1 0 90)"); } } } #endif