Esempio n. 1
0
 protected virtual void Dispose(bool disposing)
 {
     if (!_disposed)
     {
         _disposed = true;
         if (disposing)
         {
             _routes.Dispose();
         }
     }
 }
        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                _disposed = true;

                if (disposing)
                {
                    _routes.Dispose();
                    DependencyResolver.Dispose();
                }
            }
        }
        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                _disposed = true;
                if (disposing)
                {
                    _routes.Dispose();
                    Services.Dispose();
                    DependencyResolver.Dispose();

                    foreach (IDisposable resource in _resourcesToDispose)
                    {
                        resource.Dispose();
                    }
                }
            }
        }
        public void HttpRouteCollection_Dispose_UniquifiesHandlers()
        {
            // Arrange
            var collection = new HttpRouteCollection();

            var handler1 = new Mock <HttpMessageHandler>();

            handler1.As <IDisposable>().Setup(c => c.Dispose()).Verifiable();

            var handler2 = new Mock <HttpMessageHandler>();

            handler2.As <IDisposable>().Setup(c => c.Dispose()).Verifiable();

            var route1 = new Mock <IHttpRoute>();

            route1.SetupGet(r => r.Handler).Returns(handler1.Object);

            var route2 = new Mock <IHttpRoute>();

            route2.SetupGet(r => r.Handler).Returns(handler1.Object);

            var route3 = new Mock <IHttpRoute>();

            route3.SetupGet(r => r.Handler).Returns(handler2.Object);

            collection.Add("route1", route1.Object);
            collection.Add("route2", route2.Object);
            collection.Add("route3", route3.Object);

            // Act
            collection.Dispose();

            // Assert
            handler1.As <IDisposable>().Verify(c => c.Dispose(), Times.Once());
            handler2.As <IDisposable>().Verify(c => c.Dispose(), Times.Once());
        }