public BufferValidator setEmptyBufferExpected(final boolean emptyBufferExpected) { return addTest(new Test("Empty Buffer Test", 1) { public void test() throws Exception { Assert.assertTrue( supplement( "Expected buffer " + (emptyBufferExpected ? "" : "not ") + "to be empty"), emptyBufferExpected == getBuffer().isEmpty()); } }); }
private void addBufferResultValidatorTest() { addTest(new Test("BufferResultValidator Test") { public void test() throws Exception { if (getOriginal().getClass() == GeometryCollection.class) { return; } Assert.assertTrue( supplement("BufferResultValidator failure"), BufferResultValidator.isValid(getOriginal(), bufferDistance, getBuffer())); } }); }
public BufferValidator setExpectedArea(final double expectedArea) { return addTest(new Test("Area Test") { public void test() throws Exception { double tolerance = Math.abs( getBuffer().getArea() - getOriginal() .buffer( bufferDistance, QUADRANT_SEGMENTS_1 - QUADRANT_SEGMENTS_2) .getArea()); Assert.assertEquals( getName(), expectedArea, getBuffer().getArea(), tolerance); } }); }
public BufferValidator setBufferHolesExpected(final boolean bufferHolesExpected) { return addTest(new Test("Buffer Holes Test") { public void test() throws Exception { Assert.assertTrue( supplement( "Expected buffer " + (bufferHolesExpected ? "" : "not ") + "to have holes"), hasHoles(getBuffer()) == bufferHolesExpected); } private boolean hasHoles(Geometry buffer) { if (buffer.isEmpty()) { return false; } if (buffer instanceof Polygon) { return ((Polygon) buffer).getNumInteriorRing() > 0; } MultiPolygon multiPolygon = (MultiPolygon) buffer; for (int i = 0; i < multiPolygon.getNumGeometries(); i++) { if (hasHoles(multiPolygon.getGeometryN(i))) { return true; } } return false; } }); }
private void addContainsTest() { addTest(new Test("Contains Test") { public void test() throws Exception { if (getOriginal().getClass() == GeometryCollection.class) { return; } org.locationtech.jts.util.Assert.isTrue(getOriginal().isValid()); if (bufferDistance > 0) { Assert.assertTrue( supplement("Expected buffer to contain original"), contains(getBuffer(), getOriginal())); } else { Assert.assertTrue( supplement("Expected original to contain buffer"), contains(getOriginal(), getBuffer())); } } private boolean contains(Geometry a, Geometry b) { //JTS doesn't currently handle empty geometries correctly [Jon Aquino // 10/29/2003] if (b.isEmpty()) { return true; } boolean isContained = a.contains(b); return isContained; } }); }