public void TestRoverPositionEquality() { var position1 = new RoverPosition(new Point(1, 1), MarsRover.CardinalDirection.East); var position2 = new RoverPosition(new Point(1, 1), MarsRover.CardinalDirection.East); Assert.IsTrue(position1.GetHashCode().Equals(position2.GetHashCode())); Assert.IsTrue(position1.Equals(position2)); }
public override bool Equals(object obj) { var other = obj as Rover; if (other == null) { return(false); } if (RoverFacing != other.RoverFacing || Commands.OrderBy(kvp => kvp.Key) .SequenceEqual(other.Commands.OrderBy(kvp => kvp.Key)) || !RoverPosition.Equals(other.RoverPosition)) { return(false); } return(true); }