53 lines
1.9 KiB
C#
53 lines
1.9 KiB
C#
#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, 1.0E-05F, "Addition(1 0 90)");
|
|
}
|
|
}
|
|
}
|
|
#endif |