protected override void CheckEquality(IGeometry gIn, IGeometry gParsed, WKTWriter writer)
        {
            var res = gIn.EqualsExact(gParsed);
            if (res) return;

            if (Compressed)
            {
                var discreteHausdorffDistance =
                    Algorithm.Distance.DiscreteHausdorffDistance.Distance(gIn, gParsed);
                if (discreteHausdorffDistance > 0.05)
                {
                    Console.WriteLine();
                    Console.WriteLine(gIn.AsText());
                    Console.WriteLine(gParsed.AsText());
                    Console.WriteLine("DiscreteHausdorffDistance=" + discreteHausdorffDistance);
                }
                Assert.IsTrue(discreteHausdorffDistance < 0.001);
            }
            else
                Assert.IsTrue(false);
        }
 protected virtual void CheckEquality(IGeometry gIn, IGeometry gParsed, WKTWriter writer)
 {
     Assert.IsTrue(gIn.EqualsExact(gParsed), "Instances are not equal\n{0}\n\n{1}", gIn, gParsed);
 }
 protected override void CheckEquality(IGeometry gIn, IGeometry gParsed, WKTWriter writer)
 {
     if (gIn.OgcGeometryType == OgcGeometryType.GeometryCollection)
         Assert.IsTrue(gIn.EqualsNormalized(gParsed));
     else
         Assert.IsTrue(gIn.EqualsTopologically(gParsed));
 }
        public void PerformTest(IGeometry gIn)
        {
            WKTWriter writer = new WKTWriter(2) {EmitSRID = true, MaxCoordinatesPerLine = 3,};
            byte[] b = null;
            Assert.DoesNotThrow(() => b = Write(gIn), "Threw exception during write:\n{0}", writer.WriteFormatted(gIn));

            IGeometry gParsed = null;
            Assert.DoesNotThrow(() => gParsed = Read(b), "Threw exception during read:\n{0}", writer.WriteFormatted(gIn));

            Assert.IsNotNull(gParsed, "Could not be parsed\n{0}", gIn);
            CheckEquality(gIn, gParsed, writer);
        }
Example #5
0
 private void PrintNode(IntervalRTreeNode <T> node, int level)
 {
     Console.WriteLine(WKTWriter.ToLineString(new Coordinate(node.Min, level), new Coordinate(node.Max, level)));
 }