protected override void Compare(AbstractTemplateElement left, AbstractTemplateElement right) { var leftElem = (ConditionalTemplateElement)left; var rightElem = (ConditionalTemplateElement)right; AbstractConditionComparator.CompareConditionParts(leftElem.Condition, rightElem.Condition); Assert.AreEqual(leftElem.ConditionTrueElements.Count(), rightElem.ConditionTrueElements.Count()); var elems1L = leftElem.ConditionTrueElements.ToArray(); var elems1R = rightElem.ConditionTrueElements.ToArray(); for (int i = 0; i < elems1L.Length; ++i) { CompareTemplateElements(elems1L[i], elems1R[i]); } Assert.AreEqual(leftElem.ConditionFalseElements?.Count(), rightElem.ConditionFalseElements?.Count()); if (leftElem.ConditionFalseElements != null) { var elems2L = leftElem.ConditionFalseElements.ToArray(); var elems2R = rightElem.ConditionFalseElements.ToArray(); for (int i = 0; i < elems2L.Length; ++i) { CompareTemplateElements(elems2L[i], elems2R[i]); } } }
protected override void Compare(AbstractTemplateElement left, AbstractTemplateElement right) { var leftElem = (EvaluateTemplateElement)left; var rightElem = (EvaluateTemplateElement)right; AbstractConditionComparator.CompareConditionParts(leftElem.Expression, rightElem.Expression); }
protected override void Compare(AbstractTemplateElement left, AbstractTemplateElement right) { var leftElem = (EnumeratorTemplateElement)left; var rightElem = (EnumeratorTemplateElement)right; AbstractConditionComparator.CompareConditionParts(leftElem.EnumerationCondition, rightElem.EnumerationCondition); Assert.AreEqual(leftElem.Elements.Count(), rightElem.Elements.Count()); var elemsL = leftElem.Elements.ToArray(); var elemsR = rightElem.Elements.ToArray(); for (int i = 0; i < elemsL.Length; ++i) { CompareTemplateElements(elemsL[i], elemsR[i]); } }