private QualityConditionVerification GetQualityConditionVerification(
            [NotNull] ITest test)
        {
            TestVerification testVerification = GetTestVerification(test);

            return(testVerification.QualityConditionVerification);
        }
        /// <summary>
        /// Handles the TestingRow event of the container.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs"/> instance containing the event data.</param>
        /// <remarks>Must be called within dom tx</remarks>
        private void container_TestingRow(object sender, RowEventArgs e)
        {
            if (Cancelled)
            {
                e.Cancel = true;
                return;
            }

            StopInfo stopInfo = RowsWithStopConditions.GetStopInfo(e.Row);

            var test = (ITest)sender;
            TestVerification testVerification = GetTestVerification(test);

            if (stopInfo != null)
            {
                if (!stopInfo.Reported)
                {
                    stopInfo.Reported = TryReportStopInfo(
                        stopInfo, e.Row,
                        testVerification.QualityConditionVerification);
                }

                // cancel further testing on this row
                e.Cancel = true;
                return;
            }

            _currentRow = e.Row;

            if (LocationBasedQualitySpecification != null)
            {
                var feature = e.Row as IFeature;

                if (feature != null &&
                    !LocationBasedQualitySpecification.IsFeatureToBeTested(
                        feature, e.Recycled, e.RecycleUnique,
                        testVerification.QualityCondition, e.IgnoreTestArea))
                {
                    e.Cancel = true;
                }
            }
        }