public bool Equals(Shape s) { if (this.points.Count != s.points.Count) return false; foreach (Point p in this.points) { if (!s.Exists(p)) return false; } return true; }