Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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(); });
 }