コード例 #1
0
        public void WhenTryLookupReturnsTrue_MessageIsRemoved()
        {
            MessageCorrelator correlator = new MessageCorrelator();
            var telemetry = new DependencyTelemetry();

            var id = new UniqueId();

            correlator.Add(id, telemetry, TimeSpan.FromMilliseconds(100));

            DependencyTelemetry result;

            Assert.IsTrue(correlator.TryLookup(id, out result));

            Assert.IsFalse(correlator.TryLookup(id, out result));
        }
コード例 #2
0
        public void WhenMessageIsAdded_AndRemoved_TimeoutCallbackIsNotFired()
        {
            ManualResetEvent timeoutEvent = new ManualResetEvent(false);

            MessageCorrelator correlator = new MessageCorrelator(
                (messageId, dependencyObj) =>
            {
                timeoutEvent.Set();
            });
            var telemetry = new DependencyTelemetry();

            // add and remove right away
            var id = new UniqueId();

            correlator.Add(id, telemetry, TimeSpan.FromMilliseconds(100));
            DependencyTelemetry result;

            Assert.IsTrue(correlator.TryLookup(id, out result));

            // should timeout
            Assert.IsFalse(timeoutEvent.WaitOne(200));
        }