mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.1 KiB
121 lines
3.1 KiB
namespace ImageSharp.Tests.Helpers
|
|
{
|
|
using System;
|
|
|
|
using Xunit;
|
|
|
|
public class MathFTests
|
|
{
|
|
[Fact]
|
|
public void MathF_PI_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.PI, (float)Math.PI);
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Ceililng_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Ceiling(0.3333F), (float)Math.Ceiling(0.3333F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Cos_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Cos(0.3333F), (float)Math.Cos(0.3333F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Abs_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Abs(-0.3333F), (float)Math.Abs(-0.3333F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Atan2_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Atan2(1.2345F, 1.2345F), (float)Math.Atan2(1.2345F, 1.2345F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Exp_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Exp(1.2345F), (float)Math.Exp(1.2345F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Floor_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Floor(1.2345F), (float)Math.Floor(1.2345F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Min_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Min(1.2345F, 5.4321F), (float)Math.Min(1.2345F, 5.4321F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Max_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Max(1.2345F, 5.4321F), (float)Math.Max(1.2345F, 5.4321F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Pow_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Pow(1.2345F, 5.4321F), (float)Math.Pow(1.2345F, 5.4321F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Round_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Round(1.2345F), (float)Math.Round(1.2345F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Round_With_Midpoint_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Round(1.2345F, MidpointRounding.AwayFromZero), (float)Math.Round(1.2345F, MidpointRounding.AwayFromZero));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Sin_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Sin(1.2345F), (float)Math.Sin(1.2345F));
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_SinC_Is_Equal()
|
|
{
|
|
float f = 1.2345F;
|
|
float expected = 1F;
|
|
if (Math.Abs(f) > Constants.Epsilon)
|
|
{
|
|
f *= (float)Math.PI;
|
|
float sinC = (float)Math.Sin(f) / f;
|
|
|
|
expected = Math.Abs(sinC) < Constants.Epsilon ? 0F : sinC;
|
|
}
|
|
|
|
Assert.Equal(MathF.SinC(1.2345F), expected);
|
|
}
|
|
|
|
[Fact]
|
|
public void MathF_Sqrt_Is_Equal()
|
|
{
|
|
Assert.Equal(MathF.Sqrt(2F), (float)Math.Sqrt(2F));
|
|
}
|
|
|
|
[Fact]
|
|
public void Convert_Degree_To_Radian()
|
|
{
|
|
Assert.Equal((float)(Math.PI / 2D), MathF.DegreeToRadian(90F), new FloatRoundingComparer(6));
|
|
}
|
|
|
|
[Fact]
|
|
public void Convert_Radian_To_Degree()
|
|
{
|
|
Assert.Equal(60F, MathF.RadianToDegree((float)(Math.PI / 3D)), new FloatRoundingComparer(5));
|
|
}
|
|
}
|
|
}
|