@Override public void set(VisibilityGraphStatistics other) { setStartVisibilityMapInWorld(other.startMapId, other.startMap); setGoalVisibilityMapInWorld(other.goalMapId, other.goalMap); setInterRegionsVisibilityMapInWorld(other.interRegionsMapId, other.interRegionsMap); setNavigableRegions(other.navigableRegions); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 135.9) @Test(timeout = 600000) public void testConvertBodyPathPlanStatistics() { Random random = new Random(1738L); for (int iter = 0; iter < iters; iter++) { VisibilityMapHolder startMap = VisibilityGraphRandomTools.getRandomSingleSourceVisibilityMap(random); VisibilityMapHolder goalMap = VisibilityGraphRandomTools.getRandomSingleSourceVisibilityMap(random); VisibilityMapHolder interRegionsMap = VisibilityGraphRandomTools.getRandomInterRegionVisibilityMap(random); List<NavigableRegion> navigableRegions = new ArrayList<>(); int planId = RandomNumbers.nextInt(random, 0, 1000); int numberOfNavigableRegions = RandomNumbers.nextInt(random, 2, 10); for (int i = 0; i < numberOfNavigableRegions; i++) navigableRegions.add(VisibilityGraphRandomTools.getRandomNavigableRegion(random)); VisibilityGraphStatistics statisticsToConvert = new VisibilityGraphStatistics(); statisticsToConvert.setGoalVisibilityMapInWorld(goalMap.getMapId(), goalMap.getVisibilityMapInWorld()); statisticsToConvert.setStartVisibilityMapInWorld(startMap.getMapId(), startMap.getVisibilityMapInWorld()); statisticsToConvert.setInterRegionsVisibilityMapInWorld(interRegionsMap.getMapId(), interRegionsMap.getVisibilityMapInWorld()); statisticsToConvert.setNavigableRegions(navigableRegions); BodyPathPlanStatisticsMessage message = VisibilityGraphMessagesConverter.convertToBodyPathPlanStatisticsMessage(planId, statisticsToConvert); VisibilityGraphStatistics convertedStatistics = VisibilityGraphMessagesConverter.convertToVisibilityGraphStatistics(message); VisibilityGraphTestTools.assertVisibilityGraphStatisticsEqual(statisticsToConvert, convertedStatistics, epsilon); } } }