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

53 lines
1.6 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);
}
[UnityTest]
public IEnumerator WaitForSecondsNoAlloc_ShouldYieldForCorrectTime()
{
var time = (int)UTime.time;
yield return new WaitForSecondsNoAlloc(2);
Assert.AreEqual(time + 2, (int)UTime.time);
}
[UnityTest]
public IEnumerator WaitForSecondsRealtimeNoAlloc_ShouldYieldForCorrectTime()
{
var time = (int)UTime.time;
yield return new WaitForSecondsRealtimeNoAlloc(2);
Assert.AreEqual(time + 2, (int)UTime.time);
}
[UnityTest]
public IEnumerator WaitForTimeSpan_ShouldYieldForCorrectTime()
{
var time = (int)UTime.time;
yield return new WaitForTimeSpan(TimeSpan.FromSeconds(2));
Assert.AreEqual(time + 2, (int)UTime.time);
}
[UnityTest]
public IEnumerator WaitForTimeSpanRealtime_ShouldYieldForCorrectTime()
{
var time = (int)UTime.time;
yield return new WaitForTimeSpanRealtime(TimeSpan.FromSeconds(2));
Assert.AreEqual(time + 2, (int)UTime.time);
}
}
}