public void Acquire_WhenDifferentThread_ReturnsNew()
{
IEventScope firstScopeTaskResult = null;
IEventScope secondScopeTaskResult = null;
var firstScopeTask = new Thread(() => firstScopeTaskResult = this.testee.Acquire());
var secondScopeTask = new Thread(() => secondScopeTaskResult = this.testee.Acquire());
firstScopeTask.Start();
firstScopeTask.Join();
secondScopeTask.Start();
secondScopeTask.Join();
using (IEventScope firstScope = firstScopeTaskResult)
using (IEventScope secondScope = secondScopeTaskResult)
{
firstScope.Should().NotBeSameAs(secondScope);
}
}