public void ScopeManager_ActivatesWithFinishOnDispose()
        {
            var ddScopeManager = ((IDatadogTracer)_datadogTracer).ScopeManager;
            OpenTracingScopeManager otScopeManager = new OpenTracingScopeManager(ddScopeManager);

            var tracer = new OpenTracingTracer(_datadogTracer, otScopeManager);

            Span parentSpan = null;
            Span childSpan  = null;

            using (IScope parentScope = tracer.BuildSpan("parent").StartActive(finishSpanOnDispose: true))
            {
                parentSpan = ((OpenTracingSpan)parentScope.Span).Span;

                using (IScope childScope = tracer.BuildSpan("child").StartActive(finishSpanOnDispose: true))
                {
                    childSpan = ((OpenTracingSpan)childScope.Span).Span;
                    Assert.True(childSpan.Context.ParentId == parentSpan.SpanId);

                    Assert.False(childSpan.IsFinished);
                }

                Assert.True(childSpan.IsFinished);
                Assert.False(parentSpan.IsFinished);
            }

            Assert.True(parentSpan.IsFinished);
        }
        public void NewScopeManager_FromExistingDDScopeManager()
        {
            var ddScopeManager = ((IDatadogTracer)_datadogTracer).ScopeManager;
            OpenTracingScopeManager otScopeManager = new OpenTracingScopeManager(ddScopeManager);

            Assert.True(ddScopeManager == otScopeManager.ScopeManager);
        }