AddToTest.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System.Collections;
  2. using NUnit.Framework;
  3. using UnityEngine;
  4. using UnityEngine.TestTools;
  5. namespace LitMotion.Tests.Runtime
  6. {
  7. public class AddToTest
  8. {
  9. [UnityTest]
  10. public IEnumerator Test_AddTo()
  11. {
  12. var canceled = false;
  13. var obj = new GameObject("Target");
  14. var handle = LMotion.Create(0f, 1f, 2f)
  15. .WithOnCancel(() => canceled = true)
  16. .RunWithoutBinding()
  17. .AddTo(obj);
  18. yield return new WaitForSeconds(0.1f);
  19. Object.DestroyImmediate(obj);
  20. Assert.IsTrue(canceled);
  21. }
  22. [UnityTest]
  23. public IEnumerator Test_AddTo_CancelOnDisable()
  24. {
  25. var canceled = false;
  26. var obj = new GameObject("Target");
  27. var handle = LMotion.Create(0f, 1f, 2f)
  28. .WithOnCancel(() => canceled = true)
  29. .RunWithoutBinding()
  30. .AddTo(obj, LinkBehaviour.CancelOnDisable);
  31. yield return new WaitForSeconds(0.1f);
  32. obj.SetActive(false);
  33. Assert.IsTrue(canceled);
  34. }
  35. [UnityTest]
  36. public IEnumerator Test_AddTo_CompleteOnDisable()
  37. {
  38. var completed = false;
  39. var obj = new GameObject("Target");
  40. var handle = LMotion.Create(0f, 1f, 2f)
  41. .WithOnComplete(() => completed = true)
  42. .RunWithoutBinding()
  43. .AddTo(obj, LinkBehaviour.CompleteOnDisable);
  44. yield return new WaitForSeconds(0.1f);
  45. obj.SetActive(false);
  46. Assert.IsTrue(completed);
  47. }
  48. [UnityTest]
  49. public IEnumerator Test_AddTo_MonoBehaviour()
  50. {
  51. var canceled = false;
  52. var obj = new GameObject("Target");
  53. var behaviour = obj.AddComponent<TestComponent>();
  54. var handle = LMotion.Create(0f, 1f, 2f)
  55. .WithOnCancel(() => canceled = true)
  56. .RunWithoutBinding()
  57. .AddTo(behaviour);
  58. yield return new WaitForSeconds(0.1f);
  59. Object.DestroyImmediate(obj);
  60. Assert.IsTrue(canceled);
  61. }
  62. public sealed class TestComponent : MonoBehaviour { }
  63. }
  64. }