mirror of https://github.com/oliverbooth/X10D
53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
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}");
|
|
}
|
|
}
|
|
}
|