diff --git a/Comparison/src/test/java/cz/fidentis/analyst/visitors/face/HausdorffDistancePrioritizedTest.java b/Comparison/src/test/java/cz/fidentis/analyst/visitors/face/HausdorffDistancePrioritizedTest.java index 90bfef802aefa36c307f1dca9b2894d72e2f8803..9706a4224d06ac9bbda21e6f68e9c8f354b82f85 100644 --- a/Comparison/src/test/java/cz/fidentis/analyst/visitors/face/HausdorffDistancePrioritizedTest.java +++ b/Comparison/src/test/java/cz/fidentis/analyst/visitors/face/HausdorffDistancePrioritizedTest.java @@ -45,7 +45,9 @@ public class HausdorffDistancePrioritizedTest { private final List<Double> prioritiesListFP1 = List.of(1d, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0d, 0d); private final double weightedDistanceFP1 = 0 + 0.09 + 0.16 + 0.21 + 0.24 + 0.25 + 0.24 + 0.21 + 0.16 + 0.09 + 0 + 0; - private final double averageWeightedDistanceFP1 = weightedDistanceFP1 / 10; // There are 10 vertices inside the priority sphere + private final double averageWeightedDistanceFP1 = weightedDistanceFP1 / prioritiesListFP1.stream() + .mapToDouble(Double::doubleValue) + .sum(); private final Point3d featurePoint1 = new Point3d(0, 0, 0); private final FeaturePointType fpType1 = new FeaturePointType(0, null, null, null); @@ -282,7 +284,8 @@ public class HausdorffDistancePrioritizedTest { for (final MeshFacet facet: facets) { expectedPrioritiesMapFP2.put(facet, Collections.nCopies(VERTICES_NUM, 0d)); } - expectedPrioritiesMapFP2.put(facet1, List.of(0d, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1d, 0.9)); + final List<Double> prioritiesList = List.of(0d, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1d, 0.9); + expectedPrioritiesMapFP2.put(facet1, prioritiesList); final Map<FeaturePointType, Map<MeshFacet, List<Double>>> expectedPriorities = Map.of(fpType1, expectedPrioritiesMapFP1, fpType2, expectedPrioritiesMapFP2); @@ -290,7 +293,12 @@ public class HausdorffDistancePrioritizedTest { for (final MeshFacet facet: facets) { expectedWeightedDistancesMapFP2.put(facet, Double.NaN); } - expectedWeightedDistancesMapFP2.put(facet1, (0 + 0.01 + 0.04 + 0.09 + 0.16 + 0.25 + 0.36 + 0.49 + 0.64 + 0.81 + 1 + 0.99) / 11); + expectedWeightedDistancesMapFP2.put( + facet1, + (0 + 0.01 + 0.04 + 0.09 + 0.16 + 0.25 + 0.36 + 0.49 + 0.64 + 0.81 + 1 + 0.99) / prioritiesList.stream() + .mapToDouble(Double::doubleValue) + .sum() + ); final Map<FeaturePointType, Map<MeshFacet, Double>> expectedFeaturePointsWeights = Map.of(fpType1, expectedWeightedDistancesMapFP1, fpType2, expectedWeightedDistancesMapFP2); @@ -346,7 +354,9 @@ public class HausdorffDistancePrioritizedTest { expectedWeightedDistancesMapFP3.put(facet, Double.NaN); expectedWeightedDistancesMapFP4.put(facet, Double.NaN); } - final double weightedDistance = (0 + 0.01 + 0.04 + 0.09 + 0.16 + 0.25 + 0.36 + 0.49 + 0.64 + 0.81 + 1 + 0.99) / 11; + final double weightedDistance = (0 + 0.01 + 0.04 + 0.09 + 0.16 + 0.25 + 0.36 + 0.49 + 0.64 + 0.81 + 1 + 0.99) / prioritiesList.stream() + .mapToDouble(Double::doubleValue) + .sum(); expectedWeightedDistancesMapFP2.put(facet1, weightedDistance); expectedWeightedDistancesMapFP3.put(facet3, weightedDistance); expectedWeightedDistancesMapFP4.put(facet5, -weightedDistance); @@ -409,7 +419,9 @@ public class HausdorffDistancePrioritizedTest { expectedWeightedDistancesMapFP2.put(facet, Double.NaN); expectedWeightedDistancesMapFP3.put(facet, Double.NaN); } - final double weightedDistance = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 * vertexPriority + 0; + final double weightedDistance = (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 * vertexPriority + 0) / prioritiesList.stream() + .mapToDouble(Double::doubleValue) + .sum(); expectedWeightedDistancesMapFP2.put(facet1, weightedDistance); expectedWeightedDistancesMapFP2.put(facet3, weightedDistance); expectedWeightedDistancesMapFP3.put(facet1, weightedDistance); @@ -473,7 +485,9 @@ public class HausdorffDistancePrioritizedTest { expectedWeightedDistancesMapFP3.put(facet, Double.NaN); expectedWeightedDistancesMapFP4.put(facet, Double.NaN); } - final double weightedDistance = (0 + 0.01 + 0.04 + 0.09 + 0.16 + 0.25 + 0.36 + 0.49 + 0.64 + 0.81 + 1 + 0.99) / 11; + final double weightedDistance = (0 + 0.01 + 0.04 + 0.09 + 0.16 + 0.25 + 0.36 + 0.49 + 0.64 + 0.81 + 1 + 0.99) / prioritiesList.stream() + .mapToDouble(Double::doubleValue) + .sum(); expectedWeightedDistancesMapFP2.put(facet1, weightedDistance); expectedWeightedDistancesMapFP3.put(facet3, weightedDistance); expectedWeightedDistancesMapFP4.put(facet5, -weightedDistance);