using NUnit.Framework;
namespace Funique.Test
{
public sealed partial class ManagerTest
{
///
/// Testing the enum cycle functionality
/// ------------------------------------------------
/// 測試列舉迴圈元件功能
///
public sealed class EnumCycleTest
{
EnumCycle t;
AudioMode v;
int i;
[OneTimeSetUp]
public void Setup()
{
v = AudioMode.NONE;
i = 0;
t = new EnumCycle();
}
[Test]
public void Integer_Loop()
{
i = t.Next(i);
Assert.AreEqual(1, i, "Integer loop error");
i = t.Next(i);
Assert.AreEqual(2, i, "Integer loop error");
i = t.Next(i);
Assert.AreEqual(0, i, "Integer loop error");
}
[Test]
public void EnumReference_Loop()
{
v = t.Next(v);
Assert.AreEqual(AudioMode.NORMAL, v, "Integer loop error");
v = t.Next(v);
Assert.AreEqual(AudioMode.TBE, v, "Integer loop error");
v = t.Next(v);
Assert.AreEqual(AudioMode.NONE, v, "Integer loop error");
}
}
}
}