@Test
public void testGetGeoLocation() {

	GeoLocation p;
	assertNull(this.halt.getRoadSegment());
	this.halt.setRoadSegmentIndex(0);
	this.halt.checkPrimitiveValidity();
	p = this.halt.getGeoLocation();
	assertNotNull(p);
	assertTrue(p instanceof GeoLocationNowhere);
	this.itinerary.addRoadSegment(this.segment2);
	this.itinerary.addRoadSegment(this.segment1);
	p = this.halt.getGeoLocation();
	assertNotNull(p);
	assertTrue(p instanceof GeoLocationNowhere);
	this.halt.setPositionOnSegment(4f);
	p = this.halt.getGeoLocation();
	assertNotNull(p);
	assertTrue(p instanceof GeoLocationPoint);
	assertEpsilonEquals(-14f, ((GeoLocationPoint)p).getX());
	assertEpsilonEquals(148f, ((GeoLocationPoint)p).getY());
	this.halt.setRoadSegmentIndex(1);
	this.halt.checkPrimitiveValidity();
	p = this.halt.getGeoLocation();
	assertNotNull(p);
	assertTrue(p instanceof GeoLocationPoint);
	setDecimalPrecision(3);
	assertEpsilonEquals(-11.41421f, ((GeoLocationPoint)p).getX());
	assertEpsilonEquals(145.9f, ((GeoLocationPoint)p).getY());
	setDecimalPrecision(DEFAULT_DECIMAL_COUNT);
	this.halt.setRoadSegmentIndex(-1);
	this.halt.checkPrimitiveValidity();
	p = this.halt.getGeoLocation();
	assertNotNull(p);
	assertTrue(p instanceof GeoLocationNowhere);
}