public bool Equals(NpgsqlPolygon other) { if (Count != other.Count) { return(false); } if (ReferenceEquals(_points, other._points)) { return(true); } for (int i = 0; i != Count; ++i) { if (this[i] != other[i]) { return(false); } } return(true); }
public bool Equals(NpgsqlPolygon other) { if (Count != other.Count) { return(false); } else if (ReferenceEquals(_points, _points))//Shortcut for copies of each other. { return(true); } for (int i = 0; i != Count; ++i) { if (this[i] != other[i]) { return(false); } } return(true); }
public void Polygon() { var expected = new NpgsqlPolygon(new NpgsqlPoint(1, 2), new NpgsqlPoint(3, 4)); var cmd = new NpgsqlCommand("SELECT @p1, @p2", Conn); var p1 = new NpgsqlParameter("p1", NpgsqlDbType.Polygon) { Value = expected }; var p2 = new NpgsqlParameter { ParameterName = "p2", Value = expected }; Assert.That(p2.NpgsqlDbType, Is.EqualTo(NpgsqlDbType.Polygon)); cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); var reader = cmd.ExecuteReader(); reader.Read(); for (var i = 0; i < cmd.Parameters.Count; i++) { Assert.That(reader.GetFieldType(i), Is.EqualTo(typeof(NpgsqlPolygon))); Assert.That(reader[i], Is.EqualTo(expected)); } }
public void Polygon() { using (var conn = OpenConnection()) { var expected = new NpgsqlPolygon(new NpgsqlPoint(1, 2), new NpgsqlPoint(3, 4)); var cmd = new NpgsqlCommand("SELECT @p1, @p2", conn); var p1 = new NpgsqlParameter("p1", NpgsqlDbType.Polygon) {Value = expected}; var p2 = new NpgsqlParameter {ParameterName = "p2", Value = expected}; Assert.That(p2.NpgsqlDbType, Is.EqualTo(NpgsqlDbType.Polygon)); cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); using (var reader = cmd.ExecuteReader()) { reader.Read(); for (var i = 0; i < cmd.Parameters.Count; i++) { Assert.That(reader.GetFieldType(i), Is.EqualTo(typeof(NpgsqlPolygon))); var actual = reader.GetFieldValue<NpgsqlPolygon>(i); Assert.That(actual, Has.Count.EqualTo(expected.Count)); for (var j = 0; j < actual.Count; j++) AssertPointsEqual(actual[j], expected[j]); } } } }