public override string AsText(DbGeometry geometryValue)
    {
      if (geometryValue == null)
        throw new ArgumentNullException("geometryValue");

      var providerValue = new MySqlGeometry();
      MySqlGeometry.TryParse(geometryValue.ProviderValue.ToString(), out providerValue);

      return providerValue.ToString();
    }
 public void CanTryParseGeometryValueStringWithSRIDValue()
 {
     var mysqlGeometryResult = new MySqlGeometry(0, 0);
       MySqlGeometry.TryParse("SRID=101;POINT (47.37 -122.21)", out mysqlGeometryResult);
       Assert.AreEqual("SRID=101;POINT(47.37 -122.21)", mysqlGeometryResult.ToString());
 }
 public void CanGetToStringFromMySqlGeometry()
 {
     MySqlGeometry v = new MySqlGeometry(47.37, -122.21);
       var valToString = v.ToString();
       Assert.AreEqual("POINT(47.37 -122.21)", valToString);
 }
 public void CanTryParseGeometryValueString()
 {
     MySqlGeometry v = new MySqlGeometry(0, 0);
       MySqlGeometry.TryParse("POINT (47.37 -122.21)", out v);
       Assert.AreEqual("POINT(47.37 -122.21)", v.ToString());
 }
        public void CanFetchGeometryAsBinary()
        {
            if (version.Major < 5) return;

              execSQL("DROP TABLE IF EXISTS Test");
              execSQL("CREATE TABLE Test (v Geometry NOT NULL)");

              MySqlGeometry v = new MySqlGeometry(47.37, -122.21);

              var par = new MySqlParameter("?v", MySqlDbType.Geometry);
              par.Value = v;

              MySqlCommand cmd = new MySqlCommand("INSERT INTO Test VALUES (?v)", conn);
              cmd.Parameters.Add(par);
              cmd.ExecuteNonQuery();

              cmd.CommandText = "SELECT AsBinary(v) FROM Test";
              using (MySqlDataReader reader = cmd.ExecuteReader())
              {
            reader.Read();
            var val = reader.GetValue(0) as Byte[];
            var MyGeometry = new MySqlGeometry(MySqlDbType.Geometry, val);
            Assert.AreEqual("POINT(47.37 -122.21)", MyGeometry.ToString());
              }
        }