public virtual void testMP2onCR175871()
 {
     com.esri.core.geometry.Polygon pg = new com.esri.core.geometry.Polygon();
     pg.startPath(-50, 10);
     pg.lineTo(-50, 12);
     pg.lineTo(-45, 12);
     pg.lineTo(-45, 10);
     com.esri.core.geometry.Polygon pg1 = new com.esri.core.geometry.Polygon();
     pg1.startPath(-45, 10);
     pg1.lineTo(-40, 10);
     pg1.lineTo(-40, 8);
     pg.add(pg1, false);
     try
     {
         string jSonStr = com.esri.core.geometry.GeometryEngine.geometryToJson(4326, pg);
         org.codehaus.jackson.JsonFactory jf = new org.codehaus.jackson.JsonFactory();
         org.codehaus.jackson.JsonParser  jp = jf.createJsonParser(jSonStr);
         jp.nextToken();
         com.esri.core.geometry.MapGeometry mg = com.esri.core.geometry.GeometryEngine.jsonToGeometry
                                                     (jp);
         com.esri.core.geometry.Geometry gm = mg.getGeometry();
         NUnit.Framework.Assert.AreEqual(com.esri.core.geometry.Geometry.Type.Polygon, gm.
                                         getType());
         com.esri.core.geometry.Polygon pgNew = (com.esri.core.geometry.Polygon)gm;
         NUnit.Framework.Assert.AreEqual(pgNew.getPathCount(), pg.getPathCount());
         NUnit.Framework.Assert.AreEqual(pgNew.getPointCount(), pg.getPointCount());
         NUnit.Framework.Assert.AreEqual(pgNew.getSegmentCount(), pg.getSegmentCount());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(0).getX(), 0.000000001, pgNew.getPoint
                                             (0).getX());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(1).getX(), 0.000000001, pgNew.getPoint
                                             (1).getX());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(2).getX(), 0.000000001, pgNew.getPoint
                                             (2).getX());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(3).getX(), 0.000000001, pgNew.getPoint
                                             (3).getX());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(0).getY(), 0.000000001, pgNew.getPoint
                                             (0).getY());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(1).getY(), 0.000000001, pgNew.getPoint
                                             (1).getY());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(2).getY(), 0.000000001, pgNew.getPoint
                                             (2).getY());
         NUnit.Framework.Assert.AreEqual(pg.getPoint(3).getY(), 0.000000001, pgNew.getPoint
                                             (3).getY());
     }
     catch (System.Exception ex)
     {
         string err = ex.Message;
         System.Console.Out.Write(err);
         throw;
     }
 }