public void DisposesTheScopeWhenTheContextIsDisposed()
        {
            using (var _ = new StubProcessingContext(id, scope.Object))
            {
                // This block intentionally left blank.
            }

            scope.Verify(o => o.Dispose(), Times.Once);
        }
        public void SetsTheCurrentContext()
        {
            using var expected = new StubProcessingContext(id, scope.Object);
            ProcessingContext.SetCurrent(expected);

            var result = ProcessingContext.Current;

            Assert.AreEqual(expected, result);
        }
        public void ClearsTheCurrentContext()
        {
            using var target = new StubProcessingContext(id, scope.Object);
            ProcessingContext.SetCurrent(target);
            Assert.IsNotNull(ProcessingContext.Current);

            ProcessingContext.Clear();

            Assert.IsNull(ProcessingContext.Current);
        }
 public void ReturnsTheIdCorrectly()
 {
     using var target = new StubProcessingContext(id, scope.Object);
     Assert.AreEqual(id, target.Id);
 }