Exemple #1
0
 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);
 }
Exemple #2
0
 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);
 }
Exemple #3
0
        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]);
                    }
                }
            }
        }