protected virtual void TestCircle(double x, double y, double dist) { ICircle c = ctx.MakeCircle(x, y, dist); String msg = c.ToString(); ICircle c2 = ctx.MakeCircle(ctx.MakePoint(x, y), dist); Assert.Equal(c, c2); Assert.Equal(c.GetHashCode(), c2.GetHashCode()); Assert.Equal(/*msg,*/ dist > 0, c.HasArea); double area = c.GetArea(ctx); Assert.True(/*msg,*/ c.HasArea == (area > 0.0)); IRectangle bbox = c.BoundingBox; Assert.Equal(/*msg,*/ dist > 0, bbox.GetArea(ctx) > 0); Assert.True(area <= bbox.GetArea(ctx)); if (!ctx.IsGeo) { //if not geo then units of dist == units of x,y AssertEqualsRatio(msg, bbox.Height, dist * 2); AssertEqualsRatio(msg, bbox.Width, dist * 2); } AssertRelation(msg, SpatialRelation.CONTAINS, c, c.Center); AssertRelation(msg, SpatialRelation.CONTAINS, bbox, c); }