public void LogicalOperationStack()
{
var cache = new TraceEventCache();
var logicalOperationStack = cache.LogicalOperationStack;
Assert.Equal(0, logicalOperationStack.Count);
Trace.CorrelationManager.StartLogicalOperation("SecondaryThread");
Trace.CorrelationManager.StartLogicalOperation("MainThread");
Assert.NotNull(logicalOperationStack);
Assert.Equal(2, logicalOperationStack.Count);
Assert.Equal("MainThread", logicalOperationStack.Pop().ToString());
Assert.Equal("SecondaryThread", logicalOperationStack.Peek().ToString());
Trace.CorrelationManager.StopLogicalOperation();
Assert.Equal(0, logicalOperationStack.Count);
}
}