コード例 #1
0
        public void visitFork(ForkElement element, TestPosition position)
        {
            if (element.Action == null)
            {
                var testContext = new TestContext()
                {
                    Name           = _fixtureContext.NameReservations.GetReservedTestName(element.Description, _parent.Name),
                    Position       = position,
                    FixtureContext = _fixtureContext
                };

                var result = _fixtureContext.NativeTestFactory.ForTest(_fixtureContext, testContext);
                result.MarkTestInvalid("Specification is not implemented.");

                ApplyCategoryAndIgnoreIfSet(result);

                _accumulatedDescendants.Add(result);
            }
            else
            {
                var testContext = new TestContext()
                {
                    Name           = _fixtureContext.NameReservations.GetSharedTestName(element.Description, _parent.Name),
                    Position       = position,
                    FixtureContext = _fixtureContext
                };

                var suiteResuilt = SpecificationBuilder.BuildSuiteForTextContext(_fixtureContext, testContext, element.Action, false);

                ApplyCategoryAndIgnoreIfSet(suiteResuilt);

                _accumulatedDescendants.Add(suiteResuilt);
            }
        }
コード例 #2
0
 public virtual void visitFork(ForkElement element, TestPosition position)
 {
     if (_runContext.PositionIsAncestorOfContext(position))
     {
         element.Action();
     }
 }
コード例 #3
0
        public void visitFork(ForkElement element, TestPosition position)
        {
            if (position.IsAncestorOf(_targetPosition))
            {
                try
                {
                    element.Action();
                }
                catch (Exception e)
                {
                    ReportError(position, e);
                }
            }

            while (position.Equals(_targetPosition))
            {
                _currentTestPosition = position;

                _runningLock.PassAndWaitForTurn();
            }

            _setupResultAccumulator.UnwindForPosition(_targetPosition, e => ReportError(TestPosition.At(0), e));
            _traceTracker.UnwindToPosition(_targetPosition);
        }
コード例 #4
0
 public void visitFork(ForkElement element, TestPosition position)
 {
     _runContext.State.visitFork(element, position);
 }
コード例 #5
0
 public override void visitFork(ForkElement element, TestPosition position)
 {
     throw DontException(element);
 }
コード例 #6
0
 public void visitFork(ForkElement element, TestPosition position)
 {
 }