public void Equality() { var obj1 = new Point(1, 2); var obj2 = new Point(1, 1); var sut = new Point(1, 2); Assert.IsFalse(sut.Equals(null as object)); Assert.IsTrue(sut.Equals(sut as object)); Assert.IsTrue(sut.Equals(obj1)); Assert.IsFalse(sut.Equals(obj2)); }
public bool Contains(Point point) { if (point.Equals(Start) || point.Equals(End)) return true; // point lies on line according // to intersection theorem ( Strahlensatz) if (Math.Abs((End.Y - Start.Y)/(End.X - Start.X) - (point.Y - Start.Y)/(point.X - Start.X)) < 0.00000000001) { var minX = Math.Min(Start.X, End.X); var maxX = Math.Max(Start.X, End.X); var minY = Math.Min(Start.Y, End.Y); var maxY = Math.Max(Start.Y, End.Y); // the point lies in the rectangle, that is spanned by Start and End return minX <= point.X && point.X <= maxX && minY <= point.Y && point.Y <= maxY; } return false; }