public void TestUnpublishedChildDisposal() { AsyncChildLoadingComposite composite = null; AddStep("Add new composite", () => { Child = composite = new AsyncChildLoadingComposite(); }); AddStep("Allow load", () => composite.AllowChildLoad()); AddUntilStep("Wait for child load", () => composite.AsyncChild.LoadState == LoadState.Ready); AddStep("Dispose composite", Clear); AddUntilStep("Child was disposed", () => composite.AsyncChildDisposed); }
public void TestEnumerableOnlyInvokedOnce() { int invocationCount = 0; IEnumerable <AsyncChildLoadingComposite> composite = getEnumerableComponent(() => { invocationCount++; var result = new AsyncChildLoadingComposite(); result.AllowChildLoad(); return(result); }); AddStep("load async", () => LoadComponentsAsync(composite, AddRange)); AddUntilStep("component loaded", () => Children.Count == 1); AddAssert("invocation count is 1", () => invocationCount == 1); }
public void TestUnpublishedChildLoadBlockDisposal() { AsyncChildLoadingComposite composite = null; AddStep("Add new composite", () => { Child = composite = new AsyncChildLoadingComposite(); }); AddUntilStep("Wait for child load began", () => composite.AsyncChildLoadBegan); AddStep("Dispose composite", Clear); AddWaitStep("Wait for potential disposal", 50); AddAssert("Composite not yet disposed", () => !composite.IsDisposed); AddAssert("Child not yet disposed", () => !composite.AsyncChildDisposed); AddStep("Allow load", () => composite.AllowChildLoad()); AddUntilStep("Wait for child load", () => composite.AsyncChild.LoadState == LoadState.Ready); AddUntilStep("Composite was disposed", () => composite.IsDisposed); AddUntilStep("Child was disposed", () => composite.AsyncChildDisposed); }
public void SetUpSteps() { AddStep("Add new composite", () => { Child = composite = new AsyncChildLoadingComposite(); }); }