1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System;
- using System.Collections;
- using NUnit.Framework;
- using UnityEngine;
- using UnityEngine.TestTools;
- using UnityEngine.TestTools.Utils;
- namespace LitMotion.Tests.Runtime
- {
- public class PlaybackSpeedTest
- {
- [UnityTest]
- public IEnumerator Test_PlaybackSpeed()
- {
- var endValue = 10f;
- var handle = LMotion.Create(0f, endValue, 1f)
- .BindToUnityLogger();
- handle.PlaybackSpeed = 0.5f;
- var time = Time.timeAsDouble;
- yield return handle.ToYieldInteraction();
- Assert.That(Time.timeAsDouble - time, Is.GreaterThan(2.0));
- }
- [UnityTest]
- public IEnumerator Test_PlaybackSpeed_Pause()
- {
- var endValue = 10f;
- var value = 0f;
- var handle = LMotion.Create(0f, endValue, 1f)
- .Bind(x => value = x);
- handle.PlaybackSpeed = 0f;
- yield return new WaitForSeconds(0.5f);
- Assert.That(value, Is.EqualTo(0f));
- handle.Cancel();
- }
- [UnityTest]
- public IEnumerator Test_PlaybackSpeed_2x_Speed()
- {
- var endValue = 10f;
- var value = 0f;
- var handle = LMotion.Create(0f, endValue, 1f)
- .Bind(x => value = x);
-
- handle.PlaybackSpeed = 2f;
- var time = Time.time;
- yield return handle.ToYieldInteraction();
- Assert.That(Time.time - time, Is.EqualTo(0.5f).Using(new FloatEqualityComparer(0.05f)));
- }
- [Test]
- public void Test_PlaybackSpeed_Minus()
- {
- var handle = LMotion.Create(0f, 10f, 1f).RunWithoutBinding();
- Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- handle.PlaybackSpeed = -1f;
- });
- }
- }
- }
|