X10D/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs

53 lines
1.8 KiB
C#
Raw Normal View History

using System;
using System.Collections;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
using UTime = UnityEngine.Time;
namespace X10D.Unity.Tests
{
public class YieldInstructionTests : MonoBehaviour
{
[UnityTest]
public IEnumerator WaitForFrames_ShouldYieldCorrectNumberOfFrames()
{
int frameCount = UTime.frameCount;
yield return new WaitForFrames(10);
Assert.AreEqual(frameCount + 10, UTime.frameCount, $"{frameCount + 10} == {UTime.frameCount}");
}
[UnityTest]
public IEnumerator WaitForSecondsNoAlloc_ShouldYieldForCorrectTime()
{
float time = UTime.time;
yield return new WaitForSecondsNoAlloc(2);
Assert.AreEqual(time + 2, UTime.time, 1e-2, $"{time + 2} == {UTime.time}");
}
[UnityTest]
public IEnumerator WaitForSecondsRealtimeNoAlloc_ShouldYieldForCorrectTime()
{
float time = UTime.time;
yield return new WaitForSecondsRealtimeNoAlloc(2);
Assert.AreEqual(time + 2, UTime.time, 1e-2, $"{time + 2} == {UTime.time}");
}
[UnityTest]
public IEnumerator WaitForTimeSpan_ShouldYieldForCorrectTime()
{
float time = UTime.time;
yield return new WaitForTimeSpan(TimeSpan.FromSeconds(2));
Assert.AreEqual(time + 2, UTime.time, 1e-2, $"{time + 2} == {UTime.time}");
}
[UnityTest]
public IEnumerator WaitForTimeSpanRealtime_ShouldYieldForCorrectTime()
{
float time = UTime.time;
yield return new WaitForTimeSpanRealtime(TimeSpan.FromSeconds(2));
Assert.AreEqual(time + 2, UTime.time, 1e-2, $"{time + 2} == {UTime.time}");
}
}
}