Ejemplo n.º 1
0
        /// <summary>
        /// Wait until the property evaluates to <c>true</c>.
        /// Show a dialog.
        /// </summary>
        /// <param name="expectation">Expectation predicate.</param>
        /// <param name="expectationText">Expectation text, i.e. the predicate expressed as a human-readable text.</param>
        /// <param name="timeout">The timeout.</param>
        public void WaitFor(Predicate <T> expectation, string expectationText, TimeSpan timeout)
        {
            string message = $"{name} in {owner.Name}: {expectationText}";

            if (showDialog())
            {
                DialogWait.For(() => Value, value => expectation(value), message, timeout, positiveTimeout(), TimeSpan.FromMilliseconds(100));
            }
            else
            {
                if (!TryWaitFor(expectation, timeout))
                {
                    throw new WaitForException(owner, message);
                }
            }
        }
Ejemplo n.º 2
0
 public void TestWithExplicitNavigation()
 {
     try
     {
         vdi = new VdiTab();
         vdi.Open();
         vdi.On <VDI>().Displayed.WaitFor();
         vdi.On <Menu>().Events.Click();
         vdi.On <Events>().SearchText.Content = "praxis qualitätssicherung";
         vdi.On <Events>().Find.Click();
         DialogWait.For(() => vdi.On <Events>().EventList.Count(), c => c == 0, "0 seminars in list");
     }
     finally
     {
         vdi.Quit();
     }
 }
 public void IfTheNestedConditionsAreTrue_ThenNoExceptionIsThrown()
 {
     DialogWait.For(
         () =>
     {
         try
         {
             DialogWait.For(() => true, "sub wait", TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2), TimeSpan.FromMilliseconds(100));
             System.Threading.Thread.Sleep(250);
             return(true);
         }
         catch
         {
             return(false);
         }
     },
         "main wait",
         TimeSpan.FromSeconds(5),
         TimeSpan.FromSeconds(5),
         TimeSpan.FromMilliseconds(1000));
 }
        public void IfTheConditionIsFlipsBad_ThenTimeout()
        {
            bool b = false;

            Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => (b = !b), "Empty", @long, medium, TimeSpan.FromMilliseconds(500)));
        }
 public void Repeat_IfTheConditionIsTrue_ThenNoExceptionIsThrown()
 => Enumerable.Range(0, 50).ToList().ForEach(_ => DialogWait.For(() => true, "Empty", @long, none, @short));
 public void IfTheConditionIsTrue_ThenNoExceptionIsThrown_NegativeTimes()
 => Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => false, "Empty", TimeSpan.FromSeconds(-10), TimeSpan.FromSeconds(-10), TimeSpan.FromSeconds(-10)));
Ejemplo n.º 7
0
 public void DialogWaitForTenActions()
 => DialogWait.ForAction(actionText(10), expectationText(10));
 public void LongExpectationText_IsShownInTwoLines()
 => DialogWait.For(() => true, "We wait until the expected condition turns to true, so we can continue with the test.", @long, medium, @short);
 public void IfTheConditionIsTrue_ThenNoExceptionIsThrown_ClickThrough()
 => DialogWait.For(() => true, "Door is closed", @long, @long, @short, true);
Ejemplo n.º 10
0
 public void IfTheConditionIsFalse_ThenTimeout_ZeroPollingTime()
 => Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => false, "Empty", @long, medium, TimeSpan.Zero));
Ejemplo n.º 11
0
        public void IfTheConditionIsFalse_ThenTimeout_LazyCondition()
        {
            int i = 0;

            Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => { System.Threading.Thread.Sleep(1000); return(i++); }, j => j == 2, "Empty", @long, medium, @short));
        }
Ejemplo n.º 12
0
 public void DialogWaitForOneAction()
 => DialogWait.ForAction(actionText(1), expectationText(1));
Ejemplo n.º 13
0
 public void DialogWaitForTwoActions()
 => DialogWait.ForAction(actionText(2), expectationText(2));
Ejemplo n.º 14
0
 public void DialogWaitForThreeActions()
 => DialogWait.ForAction(actionText(3), expectationText(3));
Ejemplo n.º 15
0
        public void IfTheConditionIsFlipsBad_ThenTimeout_ShowCurrentValue()
        {
            int i = 0;

            Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => ++ i, v => v % 2 == 0, "Even", medium, medium, @short, false, null));
        }
Ejemplo n.º 16
0
 public void IfTheConditionIsTrue_ThenNoExceptionIsThrown_FastContinue()
 => DialogWait.For(() => true, "Empty", @long, TimeSpan.FromSeconds(0), @short);
Ejemplo n.º 17
0
 public void IfTheConditionIsFalseAndMaxPositiveTimeout_ThenTimeout()
 // no negative timeout should be displayed on the UI
 => Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => false, "Empty", @long, TimeSpan.MaxValue, @short));
Ejemplo n.º 18
0
 public void IfTheConditionIsTrue_ThenNoExceptionIsThrown()
 => DialogWait.For(() => true, "Empty", @long, medium, @short);
Ejemplo n.º 19
0
 public void IfTheConditionIsTrueAndMaxNegativeTimeout_ThenNoExceptionIsThrown()
 // no negative timeout should be displayed on the UI
 => DialogWait.For(() => true, "Empty", TimeSpan.MaxValue, @long, @short);
Ejemplo n.º 20
0
 public void IfTheConditionIsFalse_ThenTimeout()
 => Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => false, "Empty", @long, medium, @short));
Ejemplo n.º 21
0
 public void IfTheConditionIsTrue_ThenNoExceptionIsThrown_TimeoutBeforeFirstPoll()
 => Assert.Throws <DialogWaitForTimeoutException>(() => DialogWait.For(() => false, "Empty", TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2)));