/// <summary> /// Compares two <see cref="IReadOnlyBlockState"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Debug.Assert(other != null); if (!comparer.IsSameType(other, out ReadOnlyBlockState <IInner> AsBlockState)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(ParentInner, AsBlockState.ParentInner)) { return(comparer.Failed()); } if (!comparer.IsSameReference(ChildBlock, AsBlockState.ChildBlock)) { return(comparer.Failed()); } if (!comparer.VerifyEqual((IEqualComparable)PatternIndex, (IEqualComparable)AsBlockState.PatternIndex)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(PatternState, AsBlockState.PatternState)) { return(comparer.Failed()); } if (!comparer.VerifyEqual((IEqualComparable)SourceIndex, (IEqualComparable)AsBlockState.SourceIndex)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(SourceState, AsBlockState.SourceState)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(StateList, AsBlockState.StateList)) { return(comparer.Failed()); } return(true); }
/// <inheritdoc/> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Contract.RequireNotNull(other, out IEqualComparable Other); if (!comparer.IsSameType(Other, out FocusFrameSelectorReadOnlyList AsOtherReadOnlyList)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsOtherReadOnlyList.Count)) { return(comparer.Failed()); } for (int i = 0; i < Count; i++) { if (!comparer.VerifyEqual(this[i], AsOtherReadOnlyList[i])) { return(comparer.Failed()); } } return(true); }
/// <summary> /// Compares two <see cref="IFrameCellViewList"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Debug.Assert(other != null); if (!comparer.IsSameType(other, out FrameCellViewList AsCellViewList)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsCellViewList.Count)) { return(comparer.Failed()); } for (int i = 0; i < Count; i++) { if (!comparer.VerifyEqual(this[i], AsCellViewList[i])) { return(comparer.Failed()); } } return(true); }
/// <summary> /// Compares two <see cref="IFocusPlaceholderNodeStateReadOnlyList"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Debug.Assert(other != null); if (!comparer.IsSameType(other, out FocusPlaceholderNodeStateReadOnlyList AsPlaceholderNodeStateReadOnlyList)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsPlaceholderNodeStateReadOnlyList.Count)) { return(comparer.Failed()); } for (int i = 0; i < Count; i++) { if (!comparer.VerifyEqual(this[i], AsPlaceholderNodeStateReadOnlyList[i])) { return(comparer.Failed()); } } return(true); }
/// <inheritdoc/> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { Contract.RequireNotNull(other, out IEqualComparable Other); if (!comparer.IsSameType(Other, out LayoutPlaceholderNodeStateReadOnlyList AsOtherReadOnlyList)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsOtherReadOnlyList.Count)) { return(comparer.Failed()); } for (int i = 0; i < Count; i++) { if (!comparer.VerifyEqual(this[i], AsOtherReadOnlyList[i])) { return(comparer.Failed()); } } return(true); }
/// <summary> /// Compares two <see cref="FrameVisibleCellView"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { if (!comparer.IsSameType(other, out FrameVisibleCellView AsVisibleCellView)) { return(comparer.Failed()); } if (!base.IsEqual(comparer, AsVisibleCellView)) { return(comparer.Failed()); } if (!comparer.IsSameInteger(LineNumber, AsVisibleCellView.LineNumber)) { return(comparer.Failed()); } if (!comparer.IsSameInteger(ColumnNumber, AsVisibleCellView.ColumnNumber)) { return(comparer.Failed()); } return(true); }
/// <inheritdoc/> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { if (!comparer.IsSameType(other, out ReadOnlySourceState <IInner> AsSourceState)) { return(comparer.Failed()); } if (!base.IsEqual(comparer, AsSourceState)) { return(comparer.Failed()); } if (!comparer.IsSameReference(Node, AsSourceState.Node)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(ParentBlockState, AsSourceState.ParentBlockState)) { return(comparer.Failed()); } return(true); }
/// <inheritdoc/> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { if (!comparer.IsSameType(other, out ReadOnlyEmptyNodeState <IInner> AsEmptyNodeState)) { return(comparer.Failed()); } if (!base.IsEqual(comparer, AsEmptyNodeState)) { return(comparer.Failed()); } if (!comparer.IsSameReference(Node, AsEmptyNodeState.Node)) { return(comparer.Failed()); } if (!IsChildrenEqual(comparer, AsEmptyNodeState)) { return(comparer.Failed()); } return(true); }
private bool IsEqualMatchTable(CompareEqual comparer, ReadOnlyController other, IDictionary <IReadOnlyIndex, IReadOnlyIndex> matchTable) { foreach (KeyValuePair <IReadOnlyIndex, IReadOnlyIndex> Entry in matchTable) { IReadOnlyNodeState State = StateTable[Entry.Key]; IReadOnlyNodeState OtherState = other.StateTable[Entry.Value]; if (!comparer.VerifyEqual(State, OtherState)) { return(comparer.Failed()); } } return(true); }
private bool IsEqualFields(CompareEqual comparer, ReadOnlyController other) { if (!comparer.VerifyEqual(RootIndex, other.RootIndex)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(RootState, other.RootState)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(Stats, other.Stats)) { return(comparer.Failed()); } if (!comparer.IsSameCount(StateTable.Count, other.StateTable.Count)) { return(comparer.Failed()); } return(true); }
/// <summary> /// Compares two <see cref="FrameContainerCellView"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { if (!comparer.IsSameType(other, out FrameContainerCellView AsContainerCellView)) { return(comparer.Failed()); } if (!base.IsEqual(comparer, AsContainerCellView)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(ParentCellView, AsContainerCellView.ParentCellView)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(ChildStateView, AsContainerCellView.ChildStateView)) { return(comparer.Failed()); } return(true); }
/// <inheritdoc/> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { Contract.RequireNotNull(other, out IEqualComparable Other); if (!comparer.IsSameType(Other, out FocusCellViewList AsOtherList)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsOtherList.Count)) { return(comparer.Failed()); } for (int i = 0; i < Count; i++) { if (!comparer.VerifyEqual(this[i], AsOtherList[i])) { return(comparer.Failed()); } } return(true); }
/// <summary> /// Compares two <see cref="IFrameOptionalNodeStateView"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { Debug.Assert(other != null); if (!comparer.IsSameType(other, out FrameOptionalNodeStateView AsOptionalNodeStateView)) { return(comparer.Failed()); } if (!base.IsEqual(comparer, AsOptionalNodeStateView)) { return(comparer.Failed()); } if (!comparer.IsSameReference(Template, AsOptionalNodeStateView.Template)) { return(comparer.Failed()); } if (!comparer.IsTrue((RootCellView == null || AsOptionalNodeStateView.RootCellView != null) && (RootCellView != null || AsOptionalNodeStateView.RootCellView == null))) { return(comparer.Failed()); } if (RootCellView != null) { Debug.Assert(CellViewTable != null); Debug.Assert(AsOptionalNodeStateView.CellViewTable != null); if (!comparer.VerifyEqual(RootCellView, AsOptionalNodeStateView.RootCellView)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(CellViewTable, AsOptionalNodeStateView.CellViewTable)) { return(comparer.Failed()); } } return(true); }
/// <summary> /// Compares two <see cref="FramePlaceholderNodeStateView"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public override bool IsEqual(CompareEqual comparer, IEqualComparable other) { Contract.RequireNotNull(other, out IEqualComparable Other); if (!comparer.IsSameType(Other, out FramePlaceholderNodeStateView AsPlaceholderNodeStateView)) { return(comparer.Failed()); } if (!base.IsEqual(comparer, AsPlaceholderNodeStateView)) { return(comparer.Failed()); } if (!comparer.IsSameReference(Template, AsPlaceholderNodeStateView.Template)) { return(comparer.Failed()); } if (!comparer.IsTrue((RootCellView == null || AsPlaceholderNodeStateView.RootCellView != null) && (RootCellView != null || AsPlaceholderNodeStateView.RootCellView == null))) { return(comparer.Failed()); } if (RootCellView != null) { Debug.Assert(CellViewTable != null); Debug.Assert(AsPlaceholderNodeStateView.CellViewTable != null); if (!comparer.VerifyEqual(RootCellView, AsPlaceholderNodeStateView.RootCellView)) { return(comparer.Failed()); } if (!comparer.VerifyEqual(CellViewTable, AsPlaceholderNodeStateView.CellViewTable)) { return(comparer.Failed()); } } return(true); }
/// <inheritdoc/> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Contract.RequireNotNull(other, out IEqualComparable Other); if (!comparer.IsSameType(Other, out ReadOnlyBrowsingExistingBlockNodeIndex AsExistingBlockNodeIndex)) { return(comparer.Failed()); } if (!comparer.IsSameReference(ParentNode, AsExistingBlockNodeIndex.ParentNode)) { return(comparer.Failed()); } if (!comparer.IsSameString(PropertyName, AsExistingBlockNodeIndex.PropertyName)) { return(comparer.Failed()); } if (!comparer.IsSameInteger(BlockIndex, AsExistingBlockNodeIndex.BlockIndex)) { return(comparer.Failed()); } if (!comparer.IsSameInteger(Index, AsExistingBlockNodeIndex.Index)) { return(comparer.Failed()); } if (!comparer.IsSameReference(Node, AsExistingBlockNodeIndex.Node)) { return(comparer.Failed()); } return(true); }