Esempio n. 1
0
        public void CreateReleaser_ReturnsNullForPagesThatDoNotImplementDisposable(Type pageType)
        {
            // Arrange
            var context   = new PageContext();
            var activator = new DefaultPageActivatorProvider();
            var page      = new TestPage();

            // Act
            var releaser = activator.CreateReleaser(new CompiledPageActionDescriptor
            {
                PageTypeInfo = pageType.GetTypeInfo()
            });

            // Assert
            Assert.Null(releaser);
        }
Esempio n. 2
0
        public void CreateReleaser_CreatesDelegateThatDisposesDisposableTypes()
        {
            // Arrange
            var context     = new PageContext();
            var viewContext = new ViewContext();
            var activator   = new DefaultPageActivatorProvider();
            var page        = new DisposablePage();

            // Act & Assert
            var disposer = activator.CreateReleaser(new CompiledPageActionDescriptor
            {
                PageTypeInfo = page.GetType().GetTypeInfo()
            });

            Assert.NotNull(disposer);
            disposer(context, viewContext, page);

            // Assert
            Assert.True(page.Disposed);
        }