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

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

            // Assert
            Assert.Null(releaser);
        }
Esempio n. 2
0
        public async Task CreateAsyncReleaser_CreatesDelegateThatDisposesAsyncDisposableTypes()
        {
            // Arrange
            var context     = new PageContext();
            var viewContext = new ViewContext();
            var activator   = new DefaultPageActivatorProvider();
            var page        = new AsyncDisposablePage();

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

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

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