public virtual void TestReplaceNaNs()
		{
			{
				com.esri.core.geometry.MultiPoint mp = new com.esri.core.geometry.MultiPoint();
				com.esri.core.geometry.Point pt = new com.esri.core.geometry.Point();
				pt.SetXY(1, 2);
				pt.SetZ(double.NaN);
				mp.Add(pt);
				pt = new com.esri.core.geometry.Point();
				pt.SetXY(11, 12);
				pt.SetZ(3);
				mp.Add(pt);
				mp.ReplaceNaNs(com.esri.core.geometry.VertexDescription.Semantics.Z, 5);
				NUnit.Framework.Assert.IsTrue(mp.GetPoint(0).Equals(new com.esri.core.geometry.Point(1, 2, 5)));
				NUnit.Framework.Assert.IsTrue(mp.GetPoint(1).Equals(new com.esri.core.geometry.Point(11, 12, 3)));
			}
			{
				com.esri.core.geometry.Polygon mp = new com.esri.core.geometry.Polygon();
				com.esri.core.geometry.Point pt = new com.esri.core.geometry.Point();
				pt.SetXY(1, 2);
				pt.SetZ(double.NaN);
				mp.StartPath(pt);
				pt = new com.esri.core.geometry.Point();
				pt.SetXY(11, 12);
				pt.SetZ(3);
				mp.LineTo(pt);
				mp.ReplaceNaNs(com.esri.core.geometry.VertexDescription.Semantics.Z, 5);
				NUnit.Framework.Assert.IsTrue(mp.GetPoint(0).Equals(new com.esri.core.geometry.Point(1, 2, 5)));
				NUnit.Framework.Assert.IsTrue(mp.GetPoint(1).Equals(new com.esri.core.geometry.Point(11, 12, 3)));
			}
			{
				com.esri.core.geometry.Polygon mp = new com.esri.core.geometry.Polygon();
				com.esri.core.geometry.Point pt = new com.esri.core.geometry.Point();
				pt.SetXY(1, 2);
				pt.SetM(double.NaN);
				mp.StartPath(pt);
				pt = new com.esri.core.geometry.Point();
				pt.SetXY(11, 12);
				pt.SetM(3);
				mp.LineTo(pt);
				mp.ReplaceNaNs(com.esri.core.geometry.VertexDescription.Semantics.M, 5);
				com.esri.core.geometry.Point p = new com.esri.core.geometry.Point(1, 2);
				p.SetM(5);
				bool b = mp.GetPoint(0).Equals(p);
				NUnit.Framework.Assert.IsTrue(b);
				p = new com.esri.core.geometry.Point(11, 12);
				p.SetM(3);
				b = mp.GetPoint(1).Equals(p);
				NUnit.Framework.Assert.IsTrue(b);
			}
		}