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); }
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); }