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()