PreserveTest.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections;
  3. using NUnit.Framework;
  4. using UnityEngine.TestTools;
  5. namespace LitMotion.Tests.Runtime
  6. {
  7. public class PreserveTest
  8. {
  9. [Test]
  10. public void Test_Error_ReuseBuiler()
  11. {
  12. using var builder = LMotion.Create(0f, 1f, 0.1f);
  13. Assert.Throws<InvalidOperationException>(() =>
  14. {
  15. builder.RunWithoutBinding();
  16. builder.RunWithoutBinding();
  17. });
  18. }
  19. [UnityTest]
  20. public IEnumerator Test_Preserve()
  21. {
  22. using var builder = LMotion.Create(0f, 1f, 0.1f).Preserve();
  23. yield return builder.RunWithoutBinding().ToYieldInteraction();
  24. yield return builder.RunWithoutBinding().ToYieldInteraction();
  25. yield return builder.RunWithoutBinding().ToYieldInteraction();
  26. }
  27. [UnityTest]
  28. public IEnumerator Test_Preserve_MultipleBuilders()
  29. {
  30. using var builder1 = LMotion.Create(0f, 1f, 0.1f).Preserve();
  31. using var builder2 = LMotion.Create(0f, 1f, 0.1f).Preserve();
  32. using var builder3 = LMotion.Create(0f, 1f, 0.1f).Preserve();
  33. yield return builder1.RunWithoutBinding().ToYieldInteraction();
  34. yield return builder2.RunWithoutBinding().ToYieldInteraction();
  35. yield return builder3.RunWithoutBinding().ToYieldInteraction();
  36. yield return builder1.RunWithoutBinding().ToYieldInteraction();
  37. yield return builder2.RunWithoutBinding().ToYieldInteraction();
  38. yield return builder3.RunWithoutBinding().ToYieldInteraction();
  39. }
  40. }
  41. }