mirror of
https://github.com/AlexMacocian/MonoGame.Extended.git
synced 2026-07-24 20:12:23 +00:00
91 lines
3.3 KiB
C#
91 lines
3.3 KiB
C#
//using Microsoft.Xna.Framework;
|
|
//using Xunit;
|
|
|
|
//namespace MonoGame.Extended.Tests
|
|
//{
|
|
//
|
|
// public class AngleTest
|
|
// {
|
|
// private const float _delta = 0.00001f;
|
|
|
|
// [Fact]
|
|
// public void ConstructorTest()
|
|
// {
|
|
// const float value = 0.5f;
|
|
// // ReSharper disable once RedundantArgumentDefaultValue
|
|
// var radians = new Angle(value, AngleType.Radian);
|
|
// var degrees = new Angle(value, AngleType.Degree);
|
|
// var gradians = new Angle(value, AngleType.Gradian);
|
|
// var revolutions = new Angle(value, AngleType.Revolution);
|
|
|
|
// Assert.That(0.5f, Is.EqualTo(radians.Radians).Within(_delta));
|
|
// Assert.That(0.5f, Is.EqualTo(degrees.Degrees).Within(_delta));
|
|
// Assert.That(0.5f, Is.EqualTo(gradians.Gradians).Within(_delta));
|
|
// Assert.That(0.5f, Is.EqualTo(revolutions.Revolutions).Within(_delta));
|
|
// }
|
|
|
|
// [Fact]
|
|
// public void ConversionTest()
|
|
// {
|
|
// //from radians
|
|
// var radians = new Angle(MathHelper.Pi);
|
|
// Assert.Equal(180f, radians.Degrees, _delta);
|
|
// Assert.Equal(200f, radians.Gradians, _delta);
|
|
// Assert.Equal(0.5f, radians.Revolutions, _delta);
|
|
// //to radians
|
|
// var degrees = new Angle(180f, AngleType.Degree);
|
|
// var gradians = new Angle(200f, AngleType.Gradian);
|
|
// var revolutions = new Angle(0.5f, AngleType.Revolution);
|
|
|
|
// Assert.That(MathHelper.Pi, Is.EqualTo(degrees.Radians).Within(_delta));
|
|
// Assert.That(MathHelper.Pi, Is.EqualTo(gradians.Radians).Within(_delta));
|
|
// Assert.That(MathHelper.Pi, Is.EqualTo(revolutions.Radians).Within(_delta));
|
|
// }
|
|
|
|
// [Fact]
|
|
// public void WrapTest()
|
|
// {
|
|
// for (var f = -10f; f < 10f; f += 0.1f)
|
|
// {
|
|
// var wrappositive = new Angle(f);
|
|
// wrappositive.WrapPositive();
|
|
|
|
// var wrap = new Angle(f);
|
|
// wrap.Wrap();
|
|
|
|
// Assert.GreaterOrEqual(wrappositive.Radians, 0);
|
|
// Assert.Less(wrappositive.Radians, 2d * MathHelper.Pi);
|
|
|
|
// Assert.GreaterOrEqual(wrap.Radians, -MathHelper.Pi);
|
|
// Assert.Less(wrap.Radians, MathHelper.Pi);
|
|
// }
|
|
// }
|
|
|
|
// [Fact]
|
|
// public void VectorTest()
|
|
// {
|
|
// var angle = Angle.FromVector(Vector2.One);
|
|
// Assert.Equal(-MathHelper.Pi / 4d, angle.Radians, _delta);
|
|
// Assert.Equal(10f, angle.ToVector(10f).Length());
|
|
|
|
// angle = Angle.FromVector(Vector2.UnitX);
|
|
// Assert.Equal(0, angle.Radians, _delta);
|
|
// Assert.IsTrue(Vector2.UnitX.EqualsWithTolerence(angle.ToUnitVector()));
|
|
|
|
// angle = Angle.FromVector(-Vector2.UnitY);
|
|
// Assert.Equal(MathHelper.Pi / 2d, angle.Radians, _delta);
|
|
// Assert.IsTrue((-Vector2.UnitY).EqualsWithTolerence(angle.ToUnitVector()));
|
|
// }
|
|
|
|
// [Fact]
|
|
// public void EqualsTest()
|
|
// {
|
|
// var angle1 = new Angle(0);
|
|
// var angle2 = new Angle(MathHelper.Pi * 2f);
|
|
// Assert.IsTrue(angle1 == angle2);
|
|
// angle2.Radians = MathHelper.Pi * 4f;
|
|
// Assert.IsTrue(angle1.Equals(angle2));
|
|
// }
|
|
|
|
// }
|
|
//} |