Beispiel #1
0
        /// <summary>
        /// Verifies that the <see cref="ProgressControllerStep"/> was initialized correctly
        /// </summary>
        /// <param name="testSubject">The step to verify</param>
        /// <param name="attributes">Step attributes</param>
        /// <param name="displayText">Step display text</param>
        public static void VerifyInitialized(ProgressControllerStep testSubject, StepAttributes attributes, string displayText = null)
        {
            StepExecution expectedExecution         = (attributes & StepAttributes.BackgroundThread) != 0 ? StepExecution.BackgroundThread : StepExecution.ForegroundThread;
            bool          expectedHidden            = (attributes & StepAttributes.Hidden) != 0 ? true : false;
            bool          expectedCancellable       = (attributes & StepAttributes.NonCancellable) != 0 ? false : true;
            bool          expectedImpactingProgress = (attributes & StepAttributes.NoProgressImpact) != 0 ? false : true;
            bool          expectedIndeterminate     = (attributes & StepAttributes.Indeterminate) != 0 ? true : false;

            CheckState(testSubject, StepExecutionState.NotStarted);
            Assert.AreEqual(displayText, testSubject.DisplayText, "Unexpected display text");
            Assert.AreEqual(expectedCancellable, testSubject.Cancellable, "Cancellable: Unexpected post initialization value");
            Assert.AreEqual(expectedIndeterminate, testSubject.Indeterminate, "Indeterminate: Unexpected post initialization value");
            Assert.AreEqual(expectedExecution, testSubject.Execution, "Execution: Unexpected post initialization value");
            Assert.AreEqual(expectedHidden, testSubject.Hidden, "Hidden: Unexpected post initialization value");
            Assert.AreEqual(expectedImpactingProgress, testSubject.ImpactsProgress, "ImpactingProgress: Unexpected post initialization value");

            if (expectedIndeterminate)
            {
                Assert.IsTrue(ProgressControllerHelper.IsIndeterminate(testSubject.Progress), "Progess: Should be Indeterminate");
            }
            else
            {
                Assert.AreEqual(0, testSubject.Progress, "Progress: Unexpected post initialization value");
            }
        }
Beispiel #2
0
        private static void VerifyProgressSequence(bool determinate, Tuple <string, double>[] expectedSequence, Tuple <string, double>[] actualSequence)
        {
            // There's an extra executing notification for the transition from NotStarted -> Executing
            actualSequence.Should().HaveCount(expectedSequence.Length + 1, "Unexpected sequence length");
            actualSequence[0].Item1.Should().BeNull("The default transition should be with null display progress text");
            if (determinate)
            {
                actualSequence[0].Item2.Should().Be(0.0, "For determinate steps the initial percentage is 0%");
            }
            else
            {
                ProgressControllerHelper.IsIndeterminate(actualSequence[0].Item2).Should().BeTrue("Should be indeterminate");
            }

            for (int i = 0; i < expectedSequence.Length; i++)
            {
                actualSequence[i + 1].Should().Be(expectedSequence[i], "Unexpected sequence item");
            }
        }
Beispiel #3
0
        private static void VerifyProgressSequence(bool determinate, Tuple <string, double>[] expectedSequence, Tuple <string, double>[] actualSequence)
        {
            // There's an extra executing notification for the transition from NotStarted -> Executing
            Assert.AreEqual(expectedSequence.Length + 1, actualSequence.Length, "Unexpected sequence length");
            Assert.IsNull(actualSequence[0].Item1, "The default transition should be with null display progress text");
            if (determinate)
            {
                Assert.AreEqual(0.0, actualSequence[0].Item2, "For determinate steps the initial percentage is 0%");
            }
            else
            {
                Assert.IsTrue(ProgressControllerHelper.IsIndeterminate(actualSequence[0].Item2), "Should be indeterminate");
            }

            for (int i = 0; i < expectedSequence.Length; i++)
            {
                Assert.AreEqual(expectedSequence[i], actualSequence[i + 1], "Unexpected sequence item");
            }
        }