using System;
using NUnit.Framework.Interfaces;
namespace UnityEngine.TestRunner
{
    /// 
    /// Interface for getting callsbacks on test progress directly from NUnit. This is available both in the editor and directly in the runtime. It is registered by using .
    /// 
    public interface ITestRunCallback
    {
        /// 
        /// A callback invoked when a test run is started.
        /// 
        /// The full loaded test tree.
        void RunStarted(ITest testsToRun);
        /// 
        /// A callback invoked when a test run is finished.
        /// 
        /// The result of the test run.
        void RunFinished(ITestResult testResults);
        /// 
        /// A callback invoked when each individual node of the test tree has started executing.
        /// 
        /// The test node currently executed.
        void TestStarted(ITest test);
        /// 
        /// A callback invoked when each individual node of the test tree has finished executing.
        /// 
        /// The result of the test tree node after it had been executed.
        void TestFinished(ITestResult result);
    }
}