2using System.Collections.Generic;
 
    3using System.Diagnostics;
 
    8using Microsoft.VisualStudio.TestTools.UnitTesting;
 
   10using TestClass = NUnit.Framework.TestFixtureAttribute;
 
   11using TestInitialize = NUnit.Framework.SetUpAttribute;
 
   12using TestCleanup = NUnit.Framework.TearDownAttribute;
 
   22        private readonly List<Action> _testInitializeActions = 
new List<Action>();
 
   23        private readonly List<Action> _testCleanupActions = 
new List<Action>();
 
   25        private static readonly 
string _lineBreak = 
'\n' + 
new string(
'-', 80);
 
   26        private static string _contextName;
 
   27        private readonly 
string _typeName;
 
   31            _typeName = GetType().NiceTypeName();
 
 
   37            DateTime start = DateTime.UtcNow;
 
   38            Debug.WriteLine($
"Initializing {_typeName} Test");
 
   39            foreach (Action a 
in _testInitializeActions)
 
   41            Debug.WriteLine($
"Done Initializing {_typeName} Test " +
 
   42                $
"({(DateTime.UtcNow - start).TotalSeconds} seconds){_lineBreak}");
 
 
   48            DateTime start = DateTime.UtcNow;
 
   49            Debug.WriteLine($
"{'\n'}{_lineBreak}\nCleaning Up {_typeName} Test");
 
   50            foreach (Action a 
in _testCleanupActions.Reverse<Action>())
 
   52            Debug.WriteLine($
"Done Cleaning Up {_typeName} Test " +
 
   53                $
"({(DateTime.UtcNow - start).TotalSeconds} seconds)");
 
 
   58            DateTime start = DateTime.UtcNow;
 
   59            _contextName = context.TestName;
 
   60            Debug.WriteLine($
"Initializing {_contextName} Class");
 
   62            Debug.WriteLine($
"Done Initializing {_contextName} Class " +
 
   63                $
"({(DateTime.UtcNow - start).TotalSeconds} seconds){_lineBreak}");
 
 
   68            DateTime start = DateTime.UtcNow;
 
   69            Debug.WriteLine($
"{'\n'}{_lineBreak}\nCleaning Up {_contextName} Class");
 
   71            Debug.WriteLine($
"Done Cleaning Up {_contextName} Class " +
 
   72                $
"({(DateTime.UtcNow - start).TotalSeconds} seconds)");
 
 
   77            _testInitializeActions.Add(action);
 
 
   82            _testCleanupActions.Add(action);
 
 
 
void AddCommonTestCleanupAction(Action action)
 
static void BaseClass_Initialize(TestContext context, Action action)
 
void AddCommonTestInitializeAction(Action action)
 
static void BaseClass_Cleanup(Action action)
 
void BaseTest_Initialize()