/// <summary> /// Compares edges using <see cref="StartNode"/>, <see cref="EndNode"/>, <see cref="Distance"/> properties. /// </summary> /// <param name="obj"></param> /// <returns></returns> public override bool Equals(object obj) { var edge = obj as IEdge <T>; return(StartNode.Equals(edge.StartNode) && EndNode.Equals(edge.EndNode) && Distance.Equals(edge.Distance)); }
public override bool Equals(object O) { Arc A = (Arc)O; if (A == null) { throw new ArgumentException("Cannot compare " + GetType() + " with " + O.GetType()); } return(StartNode.Equals(A.StartNode) && EndNode.Equals(A.EndNode)); }
public override bool Equals(object obj) { Edge otherEdge = obj as Edge; if (otherEdge == null) { return(false); } return(ch.Equals(otherEdge.ch) && StartNode.Equals(otherEdge.StartNode) && EndNode.Equals(otherEdge.EndNode)); }
public void TestStartNodeEqualsSelf() { Node node = new StartNode(new Point(1, 1), new Point(10, 10)); Assert.IsTrue(node.Equals(node)); }
public bool HasTwoVertices(char node1, char node2) { return(StartNode.Equals(node1) && DestNode.Equals(node2) || StartNode.Equals(node2) && DestNode.Equals(node1) && ArrowDirection == Direction.None); }