1
0
mirror of https://github.com/oliverbooth/X10D synced 2024-10-19 04:26:12 +00:00
X10D/X10D.Tests/src/Numerics/Vector3Tests.cs

69 lines
2.6 KiB
C#
Raw Normal View History

using System.Numerics;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using X10D.Numerics;
namespace X10D.Tests.Numerics;
[TestClass]
public class Vector3Tests
{
2022-05-16 09:30:55 +00:00
[TestMethod]
public void Deconstruct_ShouldReturnCorrectValues()
{
var vector = new Vector3(1, 2, 3);
(float x, float y, float z) = vector;
Assert.AreEqual(1, x);
Assert.AreEqual(2, y);
Assert.AreEqual(3, z);
}
[TestMethod]
public void WithX_ShouldReturnVectorWithNewX_GivenVector()
{
Assert.AreEqual(new Vector3(0, 1, 1), Vector3.One.WithX(0));
Assert.AreEqual(Vector3.Zero, Vector3.Zero.WithX(0));
Assert.AreEqual(Vector3.Zero, Vector3.UnitX.WithX(0));
Assert.AreEqual(Vector3.UnitY, Vector3.UnitY.WithX(0));
Assert.AreEqual(Vector3.UnitZ, Vector3.UnitZ.WithX(0));
Assert.AreEqual(Vector3.One, Vector3.One.WithX(1));
Assert.AreEqual(Vector3.UnitX, Vector3.Zero.WithX(1));
Assert.AreEqual(Vector3.UnitX, Vector3.UnitX.WithX(1));
Assert.AreEqual(new Vector3(1, 1, 0), Vector3.UnitY.WithX(1));
Assert.AreEqual(new Vector3(1, 0, 1), Vector3.UnitZ.WithX(1));
}
[TestMethod]
public void WithY_ShouldReturnVectorWithNewY_GivenVector()
{
Assert.AreEqual(new Vector3(1, 0, 1), Vector3.One.WithY(0));
Assert.AreEqual(Vector3.Zero, Vector3.Zero.WithY(0));
Assert.AreEqual(Vector3.UnitX, Vector3.UnitX.WithY(0));
Assert.AreEqual(Vector3.Zero, Vector3.UnitY.WithY(0));
Assert.AreEqual(Vector3.UnitZ, Vector3.UnitZ.WithY(0));
Assert.AreEqual(Vector3.One, Vector3.One.WithY(1));
Assert.AreEqual(Vector3.UnitY, Vector3.Zero.WithY(1));
Assert.AreEqual(new Vector3(1, 1, 0), Vector3.UnitX.WithY(1));
Assert.AreEqual(Vector3.UnitY, Vector3.UnitY.WithY(1));
Assert.AreEqual(new Vector3(0, 1, 1), Vector3.UnitZ.WithY(1));
}
[TestMethod]
public void WithZ_ShouldReturnVectorWithNewZ_GivenVector()
{
Assert.AreEqual(new Vector3(1, 1, 0), Vector3.One.WithZ(0));
Assert.AreEqual(Vector3.Zero, Vector3.Zero.WithZ(0));
Assert.AreEqual(Vector3.UnitX, Vector3.UnitX.WithZ(0));
Assert.AreEqual(Vector3.UnitY, Vector3.UnitY.WithZ(0));
Assert.AreEqual(Vector3.Zero, Vector3.UnitZ.WithZ(0));
Assert.AreEqual(Vector3.One, Vector3.One.WithZ(1));
Assert.AreEqual(Vector3.UnitZ, Vector3.Zero.WithZ(1));
Assert.AreEqual(new Vector3(1, 0, 1), Vector3.UnitX.WithZ(1));
Assert.AreEqual(new Vector3(0, 1, 1), Vector3.UnitY.WithZ(1));
Assert.AreEqual(Vector3.UnitZ, Vector3.UnitZ.WithZ(1));
}
}