Class BufferResultMatcher
- java.lang.Object
-
- org.locationtech.jtstest.testrunner.BufferResultMatcher
-
- All Implemented Interfaces:
ResultMatcher
public class BufferResultMatcher extends java.lang.Object implements ResultMatcher
AResultMatcher
which compares the results of buffer operations for equality, up to the given tolerance. All other operations are delagated to the standardEqualityResultMatcher
algorithm.
-
-
Field Summary
Fields Modifier and Type Field Description private ResultMatcher
defaultMatcher
private static double
MAX_HAUSDORFF_DISTANCE_FACTOR
private static double
MAX_RELATIVE_AREA_DIFFERENCE
private static double
MIN_DISTANCE_TOLERANCE
The minimum distance tolerance which will be used.
-
Constructor Summary
Constructors Constructor Description BufferResultMatcher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isBoundaryHausdorffDistanceInTolerance(Geometry actualBuffer, Geometry expectedBuffer, double distance)
boolean
isBufferResultMatch(Geometry actualBuffer, Geometry expectedBuffer, double distance)
boolean
isMatch(Geometry geom, java.lang.String opName, java.lang.Object[] args, Result actualResult, Result expectedResult, double tolerance)
Tests whether the two results are equal within the given tolerance.boolean
isSymDiffAreaInTolerance(Geometry actualBuffer, Geometry expectedBuffer)
-
-
-
Field Detail
-
defaultMatcher
private ResultMatcher defaultMatcher
-
MAX_RELATIVE_AREA_DIFFERENCE
private static final double MAX_RELATIVE_AREA_DIFFERENCE
- See Also:
- Constant Field Values
-
MAX_HAUSDORFF_DISTANCE_FACTOR
private static final double MAX_HAUSDORFF_DISTANCE_FACTOR
- See Also:
- Constant Field Values
-
MIN_DISTANCE_TOLERANCE
private static final double MIN_DISTANCE_TOLERANCE
The minimum distance tolerance which will be used. This is required because densified vertices do no lie precisely on their parent segment.- See Also:
- Constant Field Values
-
-
Method Detail
-
isMatch
public boolean isMatch(Geometry geom, java.lang.String opName, java.lang.Object[] args, Result actualResult, Result expectedResult, double tolerance)
Tests whether the two results are equal within the given tolerance. The input parameters are not considered.- Specified by:
isMatch
in interfaceResultMatcher
- Parameters:
geom
- the target geometryopName
- the operation performedargs
- the input arguments to the operationactualResult
- the actual computed resultexpectedResult
- the expected result of the testtolerance
- the tolerance for the test- Returns:
- true if the actual and expected results are considered equal
-
isBufferResultMatch
public boolean isBufferResultMatch(Geometry actualBuffer, Geometry expectedBuffer, double distance)
-
isSymDiffAreaInTolerance
public boolean isSymDiffAreaInTolerance(Geometry actualBuffer, Geometry expectedBuffer)
-
-