using System;
using System.Collections;
namespace UnityEngine.TestTools
{
///
/// In an Edit Mode test, you can use `IEditModeTestYieldInstruction` interface to implement your own instruction. There are also a couple of commonly used implementations available:
/// -
/// -
/// -
/// -
///
///
///
/// ()) as VideoPlayer;
///
/// videoPlayer.playOnAwake = false;
///
/// yield return new EnterPlayMode();
///
/// var videoPlayerGO = GameObject.Find(m_VideoPlayerPrefab.name);
///
/// Assert.IsFalse(videoPlayerGO.GetComponent().isPlaying);
///
/// yield return new ExitPlayMode();
///
/// Object.DestroyImmediate(GameObject.Find(m_VideoPlayerPrefab.name));
/// }
/// ]]>
///
///
public interface IEditModeTestYieldInstruction
{
///
/// Whether or not the instruction expects a domain reload to occur.
///
bool ExpectDomainReload { get; }
///
/// Whether or not the instruction expects the Unity Editor to be in **Play Mode**.
///
bool ExpectedPlaymodeState { get; }
///
/// Used to define multi-frame operations performed when instantiating a yield instruction.
///
/// Enumerable collection of operations to perform.
IEnumerator Perform();
}
}