* @param isRangeMandatory {@code true} if the axes range and range meaning properties shall be defined,
* or {@code false} if they are optional.
*/
public static void assertIsGeodetic2D(final EllipsoidalCS cs, final boolean isRangeMandatory) {
assertEquals("dimension", 2, cs.getDimension());
final CoordinateSystemAxis latitude = cs.getAxis(0);
final CoordinateSystemAxis longitude = cs.getAxis(1);
assertNotNull("axis", latitude);
assertNotNull("axis", longitude);
assertEquals("axis[0].name", "Geodetic latitude", latitude .getName().getCode());
assertEquals("axis[1].name", "Geodetic longitude", longitude.getName().getCode());
assertEquals("axis[0].direction", AxisDirection.NORTH, latitude .getDirection());
assertEquals("axis[1].direction", AxisDirection.EAST, longitude.getDirection());
assertEquals("axis[0].unit", NonSI.DEGREE_ANGLE, latitude .getUnit());
assertEquals("axis[1].unit", NonSI.DEGREE_ANGLE, longitude.getUnit());
verifyRange(latitude, -90, +90, RangeMeaning.EXACT, isRangeMandatory);
verifyRange(longitude, -180, +180, RangeMeaning.WRAPAROUND, isRangeMandatory);
}