summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/EasingTests.cs
blob: be491ed854091acd0e27a9b16aad67ce81cf6d85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using NUnit.Framework;

namespace Xamarin.Forms.Core.UnitTests
{
	[TestFixture]
	public class EasingTests : BaseTestFixture
	{
		[Test]
		public void Linear ([Range (0, 10)] double input)
		{
			Assert.AreEqual (input, Easing.Linear.Ease (input));
		}

		[Test]
		public void AllRunFromZeroToOne ([Values (0.0, 1.0)] double val)
		{
			const double epsilon = 0.001;
			Assert.True (Math.Abs (val - Easing.Linear.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.BounceIn.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.BounceOut.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.CubicIn.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.CubicInOut.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.CubicOut.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.SinIn.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.SinInOut.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.SinOut.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.SpringIn.Ease (val)) < epsilon);
			Assert.True (Math.Abs (val - Easing.SpringOut.Ease (val)) < epsilon);
		}
	}
}