123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- using System.Collections;
- using NUnit.Framework;
- using UnityEngine;
- using UnityEngine.TestTools;
- namespace LitMotion.Tests.Runtime
- {
- public class SchedulerTest
- {
- const float Duration = 0.2f;
- [TearDown]
- public void TearDown()
- {
- Time.timeScale = 1;
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Initialization()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.Initialization)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Initialization_IgnoreTimeScale()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.InitializationIgnoreTimeScale)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Initialization_Realtime()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.InitializationRealtime)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_EarlyUpdate()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.EarlyUpdate)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_EarlyUpdate_IgnoreTimeScale()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.EarlyUpdateIgnoreTimeScale)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_EarlyUpdate_Realtime()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.EarlyUpdateRealtime)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_FixedUpdate()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.FixedUpdate)
- .Bind(x =>
- {
- Assert.IsTrue(Time.inFixedTimeStep);
- })
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Update()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.Update)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Update_WithHalfTimeScale()
- {
- Time.timeScale = 0.5f;
- var t = Time.unscaledTimeAsDouble;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.Update)
- .RunWithoutBinding()
- .ToYieldInteraction();
- Assert.That(Time.unscaledTimeAsDouble - t, Is.GreaterThan(Duration * 2f));
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Update_IgnoreTimeScale()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.UpdateIgnoreTimeScale)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_Update_Realtime()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.UpdateRealtime)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_PreLateUpdate()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.PreLateUpdate)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_PreLateUpdate_IgnoreTimeScale()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.PreLateUpdateIgnoreTimeScale)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_PreLateUpdate_Realtime()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.PreLateUpdateRealtime)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_PostLateUpdate()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.PostLateUpdate)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_PostLateUpdate_IgnoreTimeScale()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.PostLateUpdateIgnoreTimeScale)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_PostLateUpdate_Realtime()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.PostLateUpdateRealtime)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_TimeUpdate()
- {
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.TimeUpdate)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_TimeUpdate_IgnoreTimeScale()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.TimeUpdateIgnoreTimeScale)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- [UnityTest]
- public IEnumerator Test_Scheduler_TimeUpdate_Realtime()
- {
- Time.timeScale = 0;
- yield return LMotion.Create(0f, 10f, Duration)
- .WithScheduler(MotionScheduler.TimeUpdateRealtime)
- .RunWithoutBinding()
- .ToYieldInteraction();
- }
- }
- }
|