public void CloseTest()
{
var trace = new TraceSource("T1", SourceLevels.All);
trace.Listeners.Clear();
var listener = new TestTraceListener();
trace.Listeners.Add(listener);
trace.Close();
// NOTE: this assertion fails on .net 4.5
// where TraceSource.Close calls TraceListener.Close, not Dispose.
Assert.Equal(1, listener.GetCallCount(Method.Dispose));
// Assert that writing to a closed TraceSource is not an error.
trace.TraceEvent(TraceEventType.Critical, 0);
}