/// <summary> /// Determines whether this Node is equal to a Variable Node /// </summary> /// <param name="other">Variable Node</param> /// <returns></returns> public override bool Equals(IVariableNode other) { if ((Object)other == null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(EqualityHelper.AreVariablesEqual(this, other)); }
/// <summary> /// Gets whether this Node is equal to some other Node /// </summary> /// <param name="other">Node to test</param> /// <returns></returns> public override bool Equals(INode other) { if ((Object)other == null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } if (other.NodeType == NodeType.Variable) { return(EqualityHelper.AreVariablesEqual(this, (IVariableNode)other)); } else { // Can only be equal to other Variables return(false); } }