using System;
using System.Collections;
using NUnit.Framework.Interfaces;
namespace UnityEngine.TestTools
{
    /// 
    /// An attribute can implement this interface to provide actions to execute before setup and after teardown of tests.
    /// 
    /// 
    /// ## IOuterUnityTestAction Example
    /// 
    /// // 
    /// 
    /// 
    /// Test actions with domain reload example
    /// 
    /// 
    /// 
    /// 
    public interface IOuterUnityTestAction
    {
        /// Executed before each test is run
        /// The test that is going to be run.
        /// Enumerable collection of actions to perform before test setup.
        IEnumerator BeforeTest(ITest test);
        /// Executed after each test is run
        /// The test that has just been run.
        /// Enumerable collection of actions to perform after test teardown.
        IEnumerator AfterTest(ITest test);
    }
}