TeamCity.VSTest.TestLogger/EventContext.cs (22 lines of code) (raw):
// ReSharper disable ClassNeverInstantiated.Global
namespace TeamCity.VSTest.TestLogger;
using System;
internal class EventContext : IEventRegistry, IEventContext
{
private TestEvent? _event;
public IDisposable Register(TestEvent testEvent)
{
var prevEvent = _event;
_event = testEvent;
return Disposable.Create(() => { _event = prevEvent; });
}
public bool TryGetEvent(out TestEvent? testEvent)
{
if (_event != null)
{
testEvent = _event;
return true;
}
testEvent = default;
return false;
}
}