using System;
namespace UnityEditor.TestTools.TestRunner.Api
{
    /// 
    /// Callbacks in the  for the test stages when running tests.
    /// 
    public interface ICallbacks
    {
        /// 
        /// A callback invoked when a test run is started.
        /// 
        /// The full loaded test tree.
        void RunStarted(ITestAdaptor testsToRun);
        /// 
        /// A callback invoked when a test run is finished.
        /// 
        /// The result of the test run.
        void RunFinished(ITestResultAdaptor result);
        /// 
        /// A callback invoked when each individual node of the test tree has started executing.
        /// 
        /// The test node currently executed.
        void TestStarted(ITestAdaptor 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(ITestResultAdaptor result);
    }
}