ConnectedSurveys { public static Map<Survey, Space<Coord2D>> getTranslatedConnectedSurveys( GraphActivity activity, Survey survey, Space<Coord2D> projection) { Map<Survey, Space<Coord2D>> translated = new HashMap<>(); updateTranslatedConnectedSurveys(activity, survey, translated, survey, projection); return translated; }  static Map<Survey, Space<Coord2D>> getTranslatedConnectedSurveys(
            GraphActivity activity, Survey survey, Space<Coord2D> projection);  }
@Test public void testNoConnectedSurveysReturnNoUpdatedSurveys() { Survey currentSurvey = getBasicSurvey("not-connected"); Sketch fakeSketch = new Sketch(); when(mockActivity.getSketch(currentSurvey)).thenReturn(fakeSketch); Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys( mockActivity, currentSurvey, new Space<Coord2D>()); Assert.assertEquals(translated.size(), 0); }
@Test public void testConnectedSurveyGetsTranslatedCorrectly() throws Exception { Survey currentSurvey = getBasicSurvey("current"); Survey joinedSurvey = getBasicSurvey("joined"); connectTwoSurveys(currentSurvey, currentSurvey.getActiveStation(), joinedSurvey, joinedSurvey.getOrigin()); GraphActivity activity = new PlanActivity(); Space<Coord2D> planProjection = Projection2D.PLAN.project(currentSurvey); Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys( activity, currentSurvey, planProjection); Assert.assertEquals(translated.size(), 1); Survey translatedSurvey = getNamedSurvey(translated, "joined"); Space<Coord2D> projection = translated.get(translatedSurvey); Coord2D newStationPoint = getStationPosition(projection, "2"); Assert.assertEquals(-2.0, newStationPoint.y, SexyTopo.ALLOWED_DOUBLE_DELTA); }
@Test public void testSecondaryConnectedSurveyGetsTranslatedCorrectly() throws Exception { Survey currentSurvey = getBasicSurvey("current"); Survey joinedSurvey0 = getBasicSurvey("joined-0"); Survey joinedSurvey1 = getBasicSurvey("joined-1"); connectTwoSurveys(currentSurvey, currentSurvey.getActiveStation(), joinedSurvey0, joinedSurvey0.getOrigin()); connectTwoSurveys(joinedSurvey0, joinedSurvey0.getActiveStation(), joinedSurvey1, joinedSurvey1.getOrigin()); GraphActivity activity = new PlanActivity(); Space<Coord2D> planProjection = Projection2D.PLAN.project(currentSurvey); Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys( activity, currentSurvey, planProjection); Assert.assertEquals(translated.size(), 2); Survey translatedSurvey = getNamedSurvey(translated, "joined-1"); Space<Coord2D> projection = translated.get(translatedSurvey); Coord2D newStationPoint = getStationPosition(projection, "2"); Assert.assertEquals(-3.0, newStationPoint.y, SexyTopo.ALLOWED_DOUBLE_DELTA); }
@Test public void testConnectedSurveySketchGetsTranslatedCorrectly() { Survey currentSurvey = getBasicSurvey("current"); Survey joinedSurvey = getBasicSurvey("joined"); Sketch sketch = joinedSurvey.getPlanSketch(); PathDetail pathDetail = sketch.startNewPath(new Coord2D(0, 0)); pathDetail.lineTo(new Coord2D(0, 1)); sketch.finishPath(); connectTwoSurveys(currentSurvey, currentSurvey.getActiveStation(), joinedSurvey, joinedSurvey.getOrigin()); GraphActivity activity = new PlanActivity(); Space<Coord2D> planProjection = Projection2D.PLAN.project(currentSurvey); Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys( activity, currentSurvey, planProjection); Sketch translatedSketch = translated.keySet().iterator().next().getPlanSketch(); PathDetail translatedPathDetail = translatedSketch.getPathDetails().toArray(new PathDetail[] {})[0]; List<Coord2D> coords = translatedPathDetail.getPath(); Assert.assertEquals(new Coord2D(0, -1), coords.get(0)); Assert.assertEquals(new Coord2D(0, 0), coords.get(1)); }