namespace VRTK.Examples.Tests
|
|
{
|
|
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
public abstract class VRTK_BaseTest : MonoBehaviour
|
|
{
|
|
protected string currentTest;
|
|
protected string currentSetup;
|
|
|
|
protected abstract void Test();
|
|
|
|
protected virtual void OnEnable()
|
|
{
|
|
StartCoroutine(RunTests());
|
|
}
|
|
|
|
protected virtual void BeginTest(string name, int level = 1)
|
|
{
|
|
currentTest = name;
|
|
Debug.Log("<color=darkblue><b>" + "".PadLeft(level, '#') + " Starting Tests for " + name + "</b></color>");
|
|
}
|
|
|
|
protected virtual void SetUp(string message)
|
|
{
|
|
currentSetup = message;
|
|
Debug.Log("<color=blue><b>#### Preparing test for " + message + "</b></color>");
|
|
}
|
|
|
|
protected virtual void TearDown()
|
|
{
|
|
Debug.Log("==============================================================================");
|
|
}
|
|
|
|
protected virtual void Assert(string description, bool assertion, string failure, string success = "")
|
|
{
|
|
if (assertion)
|
|
{
|
|
Debug.Log("<color=teal><b>## [" + description + "] PASSED ##</b></color>");
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("<color=maroon><b>## [" + description + "] FAILED INSIDE [" + currentTest + "." + currentSetup + "]##</b></color>");
|
|
}
|
|
|
|
if (!assertion)
|
|
{
|
|
Debug.LogException(new System.Exception(failure));
|
|
}
|
|
else if (success != "")
|
|
{
|
|
Debug.Log("<color=purple><i> ~~~~~> " + success + "</i></color>");
|
|
}
|
|
}
|
|
|
|
protected virtual IEnumerator RunTests()
|
|
{
|
|
yield return new WaitForEndOfFrame();
|
|
Test();
|
|
}
|
|
}
|
|
}
|