public void TestTearDown() { foreach (var timeMeasurement in Measurements) { TestContext.Out.WriteLine($"Measure: {timeMeasurement.Key} - '{timeMeasurement.Time:c}'"); } var failed = false; if (_dbAccess != null) { if (_dbAccess.Database.ConnectionController.InstanceCounter != 0) { TestContext.Error.WriteLine("Invalid State Detected. Some connections are Still open. Proceed with Cleanup"); failed = true; } } if (Equals(TestContext.CurrentContext.Result.Outcome, ResultState.Failure) || Equals(TestContext.CurrentContext.Result.Outcome, ResultState.Error)) { Mgr?.FlushErrorData(); } else { Mgr?.Clear(); } Mgr = null; DbAccess = null; //ThreadConnection.UseTransactionCurrent = false; Assert.That(failed, Is.False, () => "Invalid Connection State"); //dotMemory.Check(mem => //{ // Assert.That(mem.GetObjects(e => e.Type.Is<DbAccessLayer>()).ObjectsCount, Is.Zero); // Assert.That(mem.GetObjects(e => e.LeakedOnEventHandler()).ObjectsCount, Is.Zero); // Assert.That(mem.GetObjects(e => e.Interface.Is<IDbConnection>()).ObjectsCount, Is.Zero); // Assert.That(mem.GetObjects(e => e.Interface.Is<IDbCommand>()).ObjectsCount, Is.Zero); //}); }