001/*
002 *    GeoAPI - Java interfaces for OGC/ISO standards
003 *    http://www.geoapi.org
004 *
005 *    Copyright (C) 2011-2019 Open Geospatial Consortium, Inc.
006 *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
007 *
008 *    Permission to use, copy, and modify this software and its documentation, with
009 *    or without modification, for any purpose and without fee or royalty is hereby
010 *    granted, provided that you include the following on ALL copies of the software
011 *    and documentation or portions thereof, including modifications, that you make:
012 *
013 *    1. The full text of this NOTICE in a location viewable to users of the
014 *       redistributed or derivative work.
015 *    2. Notice of any changes or modifications to the OGC files, including the
016 *       date changes were made.
017 *
018 *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
019 *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
020 *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
021 *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
022 *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
023 *
024 *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
025 *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
026 *
027 *    The name and trademarks of copyright holders may NOT be used in advertising or
028 *    publicity pertaining to the software without specific, written prior permission.
029 *    Title to copyright in this software and any associated documentation will at all
030 *    times remain with copyright holders.
031 */
032package org.opengis.test.referencing.gigs;
033
034import java.util.List;
035
036import org.opengis.util.Factory;
037import org.opengis.util.FactoryException;
038import org.opengis.referencing.datum.DatumAuthorityFactory;
039import org.opengis.referencing.NoSuchAuthorityCodeException;
040import org.opengis.referencing.crs.CRSAuthorityFactory;
041import org.opengis.referencing.crs.GeocentricCRS;
042import org.opengis.referencing.crs.GeodeticCRS;
043import org.opengis.referencing.crs.GeographicCRS;
044import org.opengis.referencing.cs.AxisDirection;
045import org.opengis.referencing.cs.CoordinateSystem;
046import org.opengis.referencing.datum.Ellipsoid;
047import org.opengis.referencing.datum.GeodeticDatum;
048import org.opengis.referencing.datum.PrimeMeridian;
049import org.opengis.test.Configuration;
050import org.opengis.test.FactoryFilter;
051
052import org.junit.Test;
053import org.junit.runner.RunWith;
054import org.junit.runners.Parameterized;
055
056import static org.junit.Assume.*;
057import static org.opengis.test.Assert.*;
058
059
060/**
061 * Verifies reference geodetic datums and CRSs bundled with the geoscience software.
062 * Each test method in this class instantiate exactly one {@link GeodeticDatum}, but
063 * may instantiate an arbitrary amount of {@link GeodeticCRS} using that datum.
064 *
065 * <table class="gigs" summary="Test description"><tr>
066 *   <th>Test method:</th>
067 *   <td>Compare geodetic datum and geocentric, geographic 3D and geographic 2D CRS definitions
068 *       included in the geoscience software against the EPSG Dataset.</td>
069 * </tr><tr>
070 *   <th>Test data:</th>
071 *   <td><a href="doc-files/GIGS_2004_libGeodeticDatumCRS.csv">{@code GIGS_2004_libGeodeticDatumCRS.csv}</a>
072 *       and EPSG Dataset.
073 *       Tests for component logical consistency: for example, if a higher-level library-defined component
074 *       such as ED50 datum is selected it should then not be possible to change any of its lower-level
075 *       components such as the ellipsoid from the pre-defined value (in this example International 1924).</td>
076 * </tr><tr>
077 *   <th>Tested API:</th>
078 *   <td>{@link DatumAuthorityFactory#createGeodeticDatum(String)},<br>
079 *       {@link CRSAuthorityFactory#createGeographicCRS(String)} and<br>
080 *       {@link CRSAuthorityFactory#createGeocentricCRS(String)}.</td>
081 * </tr><tr>
082 *   <th>Expected result:</th>
083 *   <td>Definitions bundled with the software should have the same name and associated ellipsoid and prime meridian
084 *       as in the EPSG Dataset. CRSs missing from the software or at variance with those in the EPSG Dataset should
085 *       be reported.</td>
086 * </tr></table>
087 *
088 *
089 * <div class="note"><b>Usage example:</b>
090 * in order to specify their factories and run the tests in a JUnit framework, implementors can
091 * define a subclass in their own test suite as in the example below:
092 *
093 * <blockquote><pre>import org.junit.runner.RunWith;
094 *import org.junit.runners.JUnit4;
095 *import org.opengis.test.referencing.gigs.GIGS2004;
096 *
097 *&#64;RunWith(JUnit4.class)
098 *public class MyTest extends GIGS2004 {
099 *    public MyTest() {
100 *        super(new MyDatumAuthorityFactory(),
101 *              new MyCRSAuthorityFactory());
102 *    }
103 *}</pre></blockquote>
104 * </div>
105 *
106 * @author  GIGS (IOGP)
107 * @author  Martin Desruisseaux (Geomatys)
108 * @author  Alexis Manin (Geomatys)
109 * @version 3.1
110 * @since   3.1
111 */
112@RunWith(Parameterized.class)
113public strictfp class GIGS2004 extends AuthorityFactoryTestCase<GeodeticDatum> {
114    /**
115     * The expected axis directions of two-dimensional geographic CRS with longitude first.
116     * This axis order does not appear in the EPSG database, but appears often in user-defined CRS.
117     */
118    static final AxisDirection[] GEOGRAPHIC_XY = {
119        AxisDirection.EAST,
120        AxisDirection.NORTH
121    };
122
123    /**
124     * The expected axis directions of two-dimensional geographic CRS.
125     */
126    static final AxisDirection[] GEOGRAPHIC_2D = {
127        AxisDirection.NORTH,
128        AxisDirection.EAST
129    };
130
131    /**
132     * The expected axis directions of three-dimensional geographic CRS.
133     */
134    static final AxisDirection[] GEOGRAPHIC_3D = {
135        AxisDirection.NORTH,
136        AxisDirection.EAST,
137        AxisDirection.UP
138    };
139
140    /**
141     * The expected axis directions of geocentric CRS.
142     */
143    static final AxisDirection[] GEOCENTRIC = {
144        AxisDirection.GEOCENTRIC_X,
145        AxisDirection.GEOCENTRIC_Y,
146        AxisDirection.GEOCENTRIC_Z
147    };
148
149    /**
150     * The name of the expected ellipsoid.
151     */
152    public String ellipsoidName;
153
154    /**
155     * The name of the expected prime meridian.
156     */
157    public String primeMeridianName;
158
159    /**
160     * Name of a coordinate reference system using the datum.
161     */
162    private String crsName;
163
164    /**
165     * The datum created by the factory,
166     * or {@code null} if not yet created or if datum creation failed.
167     *
168     * @see #datumAuthorityFactory
169     */
170    private GeodeticDatum datum;
171
172    /**
173     * Factory to use for building {@link GeodeticDatum} instances, or {@code null} if none.
174     * This is the factory used by the {@link #getIdentifiedObject()} method.
175     */
176    protected final DatumAuthorityFactory datumAuthorityFactory;
177
178    /**
179     * Factory to use for building {@link GeodeticCRS} instances, or {@code null} if none.
180     */
181    protected final CRSAuthorityFactory crsAuthorityFactory;
182
183    /**
184     * Returns a default set of factories to use for running the tests. Those factories are given
185     * in arguments to the constructor when this test class is instantiated directly by JUnit (for
186     * example as a {@linkplain org.junit.runners.Suite.SuiteClasses suite} element), instead than
187     * subclassed by the implementor. The factories are fetched as documented in the
188     * {@link #factories(Class[])} javadoc.
189     *
190     * @return the default set of arguments to be given to the {@code GIGS2004} constructor.
191     */
192    @Parameterized.Parameters
193    @SuppressWarnings("unchecked")
194    public static List<Factory[]> factories() {
195        return factories(FactoryFilter.ByAuthority.EPSG, DatumAuthorityFactory.class, CRSAuthorityFactory.class);
196    }
197
198    /**
199     * Creates a new test using the given factories. If a given factory is {@code null},
200     * then the tests which depend on it will be skipped.
201     *
202     * @param datumFactory  factory for creating {@link GeodeticDatum} instances.
203     * @param crsFactory    factory for creating {@link GeodeticCRS} instances.
204     */
205    public GIGS2004(final DatumAuthorityFactory datumFactory, final CRSAuthorityFactory crsFactory) {
206        super(datumFactory);
207        datumAuthorityFactory = datumFactory;
208        crsAuthorityFactory = crsFactory;
209    }
210
211    /**
212     * Returns information about the configuration of the test which has been run.
213     * This method returns a map containing:
214     *
215     * <ul>
216     *   <li>All the following values associated to the {@link org.opengis.test.Configuration.Key} of the same name:
217     *     <ul>
218     *       <li>{@link #isStandardNameSupported}</li>
219     *       <li>{@link #isStandardAliasSupported}</li>
220     *       <li>{@link #isDependencyIdentificationSupported}</li>
221     *       <li>{@link #datumAuthorityFactory}</li>
222     *       <li>{@link #crsAuthorityFactory}</li>
223     *     </ul>
224     *   </li>
225     * </ul>
226     *
227     * @return the configuration of the test being run.
228     */
229    @Override
230    public Configuration configuration() {
231        final Configuration op = super.configuration();
232        assertNull(op.put(Configuration.Key.datumAuthorityFactory, datumAuthorityFactory));
233        assertNull(op.put(Configuration.Key.crsAuthorityFactory, crsAuthorityFactory));
234        return op;
235    }
236
237    /**
238     * Returns the datum instance to be tested. When this method is invoked for the first time, it creates the
239     * datum to test by invoking the {@link DatumAuthorityFactory#createGeodeticDatum(String)} method with the
240     * current {@link #code} value in argument. The created object is then cached and returned in all subsequent
241     * invocations of this method.
242     *
243     * @return the datum instance to test.
244     * @throws FactoryException if an error occurred while creating the datum instance.
245     */
246    @Override
247    public GeodeticDatum getIdentifiedObject() throws FactoryException {
248        if (datum == null) {
249            assumeNotNull(datumAuthorityFactory);
250            try {
251                datum = datumAuthorityFactory.createGeodeticDatum(String.valueOf(code));
252            } catch (NoSuchAuthorityCodeException e) {
253                unsupportedCode(GeodeticDatum.class, code);
254                throw e;
255            }
256        }
257        return datum;
258    }
259
260    /**
261     * Verifies the properties of the geodetic datum given by {@link #getIdentifiedObject()}.
262     */
263    private void verifyDatum() throws FactoryException {
264        assumeTrue(datumAuthorityFactory != null || crsAuthorityFactory != null);
265        if (datumAuthorityFactory != null) {
266            final GeodeticDatum datum = getIdentifiedObject();
267            assertNotNull("GeodeticDatum", datum);
268            validators.validate(datum);
269            verifyGeodeticDatum(datum);
270        }
271    }
272
273    /**
274     * Creates a geographic CRS for the given code and verify its properties.
275     *
276     * @param  crsCode             the code of the CRS to create.
277     * @param  expectedDirections  either {@link #GEOGRAPHIC_2D} or {@link #GEOGRAPHIC_3D}.
278     * @throws FactoryException if an error occurred while creating the CRS instance.
279     */
280    private void createAndVerifyGeographicCRS(final int crsCode, final AxisDirection[] expectedDirections) throws FactoryException {
281        if (crsAuthorityFactory != null) {
282            final GeographicCRS crs;
283            try {
284                crs = crsAuthorityFactory.createGeographicCRS(String.valueOf(crsCode));
285            } catch (NoSuchAuthorityCodeException e) {
286                unsupportedCode(GeographicCRS.class, crsCode);
287                throw e;
288            }
289            if (crs == null) {
290                fail("CRSAuthorityFactory.createGeographicCRS(\"" + code + "\") shall not return null.");
291            }
292            validators.validate(crs);
293            verifyGeodeticCRS(crsCode, crs, expectedDirections);
294        }
295    }
296
297    /**
298     * Creates a geodetic CRS for the given code and verify its properties.
299     *
300     * @param  crsCode  the code of the CRS to create.
301     * @throws FactoryException if an error occurred while creating the CRS instance.
302     */
303    private void createAndVerifyGeocentricCRS(final int crsCode) throws FactoryException {
304        if (crsAuthorityFactory != null) {
305            final GeocentricCRS crs;
306            try {
307                crs = crsAuthorityFactory.createGeocentricCRS(String.valueOf(crsCode));
308            } catch (NoSuchAuthorityCodeException e) {
309                unsupportedCode(GeocentricCRS.class, crsCode);
310                throw e;
311            }
312            if (crs == null) {
313                fail("CRSAuthorityFactory.createGeocentricCRS(\"" + code + "\") shall not return null.");
314            }
315            validators.validate(crs);
316            verifyGeodeticCRS(crsCode, crs, GEOCENTRIC);
317        }
318    }
319
320    /**
321     * Verifies the given geographic or geocentric CRS.
322     *
323     * @param crsCode             the code of the created CRS.
324     * @param crs                 the CRS to verify.
325     * @param expectedDirections  either {@link #GEOGRAPHIC_2D}, {@link #GEOGRAPHIC_3D} or {@link #GEOCENTRIC}.
326     */
327    private void verifyGeodeticCRS(final int crsCode, final GeodeticCRS crs, final AxisDirection[] expectedDirections) {
328        assertNotNull("GeodeticCRS", crs);
329
330        // Geodetic CRS identifier.
331        assertContainsCode("GeodeticCRS.getIdentifiers()", "EPSG", crsCode, crs.getIdentifiers());
332
333        // Geodetic CRS name.
334        if (isStandardNameSupported) {
335            configurationTip = Configuration.Key.isStandardNameSupported;
336            assertEquals("GeodeticCRS.getName()", crsName, getVerifiableName(crs));
337            configurationTip = null;
338        }
339
340        // Geodetic CRS datum.
341        final GeodeticDatum crsDatum = crs.getDatum();
342        assertNotNull("GeodeticCRS.getDatum()", crsDatum);
343        verifyGeodeticDatum(crsDatum);
344
345        // Geodetic CRS coordinate system.
346        final CoordinateSystem cs = crs.getCoordinateSystem();
347        assertNotNull("GeodeticCRS.getCoordinateSystem()", cs);
348        assertEquals("GeodeticCRS.getCoordinateSystem().getDimension()",  expectedDirections.length, cs.getDimension());
349        assertAxisDirectionsEqual("GeodeticCRS.getCoordinateSystem().getAxis(*)", cs, expectedDirections);
350    }
351
352    /**
353     * Verifies the name, ellipsoid and prime meridian of the given datum.
354     */
355    private void verifyGeodeticDatum(final GeodeticDatum toVerify) {
356        /*
357         * If the datum has been obtained directly from the datum factory (toVerify == datum), test its
358         * identifier unconditionally. Otherwise (for all datum obtained indirectly from a CRS), verify
359         * the identifier only if the implementation supports identification of associated objects.
360         */
361        if (isDependencyIdentificationSupported || (toVerify == datum)) {
362            configurationTip = Configuration.Key.isDependencyIdentificationSupported;
363            assertContainsCode("GeodeticDatum.getIdentifiers()", "EPSG", code, toVerify.getIdentifiers());
364
365            if (isStandardNameSupported) {
366                configurationTip = Configuration.Key.isStandardNameSupported;
367                assertEquals("GeodeticDatum.getName()", name, getVerifiableName(toVerify));
368            }
369            configurationTip = null;
370        }
371
372        // Geodetic datum ellipsoid.
373        final Ellipsoid e = toVerify.getEllipsoid();
374        assertNotNull("GeodeticDatum.getEllipsoid()", e);
375
376        // Ellipsoid name.
377        if (isDependencyIdentificationSupported && isStandardNameSupported) {
378            configurationTip = Configuration.Key.isDependencyIdentificationSupported;
379            assertEquals("GeodeticDatum.getEllipsoid().getName()", ellipsoidName, getVerifiableName(e));
380            configurationTip = null;
381        }
382
383        // Geodetic datum prime meridian.
384        final PrimeMeridian pm = toVerify.getPrimeMeridian();
385        assertNotNull("GeodeticDatum.getPrimeMeridian()", pm);
386
387        // Prime meridian name.
388        if (isDependencyIdentificationSupported && isStandardNameSupported) {
389            configurationTip = Configuration.Key.isDependencyIdentificationSupported;
390            assertEquals("GeodeticDatum.getPrimeMeridian().getName()", primeMeridianName, getVerifiableName(pm));
391            configurationTip = null;
392        }
393    }
394
395    /**
396     * Tests “Abidjan 1987” geodetic datum creation from the factory.
397     *
398     * <ul>
399     *   <li>EPSG datum code: <b>6143</b></li>
400     *   <li>EPSG datum name: <b>Abidjan 1987</b></li>
401     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
402     *   <li>Prime meridian name: <b>Greenwich</b></li>
403     *   <li>CRS using the datum: <b>Abidjan 1987</b></li>
404     *   <li>Particularly important to E&amp;P industry.</li>
405     * </ul>
406     *
407     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
408     */
409    @Test
410    public void testAbidjan() throws FactoryException {
411        important         = true;
412        code              = 6143;
413        name              = "Abidjan 1987";
414        crsName           = "Abidjan 1987";
415        ellipsoidName     = "Clarke 1880 (RGS)";
416        primeMeridianName = "Greenwich";
417        verifyDatum();
418        createAndVerifyGeographicCRS(4143, GEOGRAPHIC_2D);
419    }
420
421    /**
422     * Tests “Accra” geodetic datum creation from the factory.
423     *
424     * <ul>
425     *   <li>EPSG datum code: <b>6168</b></li>
426     *   <li>EPSG datum name: <b>Accra</b></li>
427     *   <li>Ellipsoid name: <b>War Office</b></li>
428     *   <li>Prime meridian name: <b>Greenwich</b></li>
429     *   <li>CRS using the datum: <b>Accra</b></li>
430     *   <li>Particularly important to E&amp;P industry.</li>
431     * </ul>
432     *
433     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
434     */
435    @Test
436    public void testAccra() throws FactoryException {
437        important         = true;
438        code              = 6168;
439        name              = "Accra";
440        crsName           = "Accra";
441        ellipsoidName     = "War Office";
442        primeMeridianName = "Greenwich";
443        verifyDatum();
444        createAndVerifyGeographicCRS(4168, GEOGRAPHIC_2D);
445    }
446
447    /**
448     * Tests “Australian Geodetic Datum 1966” geodetic datum creation from the factory.
449     *
450     * <ul>
451     *   <li>EPSG datum code: <b>6202</b></li>
452     *   <li>EPSG datum name: <b>Australian Geodetic Datum 1966</b></li>
453     *   <li>Ellipsoid name: <b>Australian National Spheroid</b></li>
454     *   <li>Prime meridian name: <b>Greenwich</b></li>
455     *   <li>CRS using the datum: <b>AGD66</b></li>
456     *   <li>Particularly important to E&amp;P industry.</li>
457     * </ul>
458     *
459     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
460     */
461    @Test
462    public void testAGD66() throws FactoryException {
463        important         = true;
464        code              = 6202;
465        name              = "Australian Geodetic Datum 1966";
466        crsName           = "AGD66";
467        ellipsoidName     = "Australian National Spheroid";
468        primeMeridianName = "Greenwich";
469        verifyDatum();
470        createAndVerifyGeographicCRS(4202, GEOGRAPHIC_2D);
471    }
472
473    /**
474     * Tests “Australian Geodetic Datum 1984” geodetic datum creation from the factory.
475     *
476     * <ul>
477     *   <li>EPSG datum code: <b>6203</b></li>
478     *   <li>EPSG datum name: <b>Australian Geodetic Datum 1984</b></li>
479     *   <li>Ellipsoid name: <b>Australian National Spheroid</b></li>
480     *   <li>Prime meridian name: <b>Greenwich</b></li>
481     *   <li>CRS using the datum: <b>AGD84</b></li>
482     *   <li>Particularly important to E&amp;P industry.</li>
483     * </ul>
484     *
485     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
486     */
487    @Test
488    public void testAGD84() throws FactoryException {
489        important         = true;
490        code              = 6203;
491        name              = "Australian Geodetic Datum 1984";
492        crsName           = "AGD84";
493        ellipsoidName     = "Australian National Spheroid";
494        primeMeridianName = "Greenwich";
495        verifyDatum();
496        createAndVerifyGeographicCRS(4203, GEOGRAPHIC_2D);
497    }
498
499    /**
500     * Tests “Ain el Abd 1970” geodetic datum creation from the factory.
501     *
502     * <ul>
503     *   <li>EPSG datum code: <b>6204</b></li>
504     *   <li>EPSG datum name: <b>Ain el Abd 1970</b></li>
505     *   <li>Ellipsoid name: <b>International 1924</b></li>
506     *   <li>Prime meridian name: <b>Greenwich</b></li>
507     *   <li>CRS using the datum: <b>Ain el Abd</b></li>
508     *   <li>Particularly important to E&amp;P industry.</li>
509     * </ul>
510     *
511     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
512     */
513    @Test
514    public void testAinElAbd() throws FactoryException {
515        important         = true;
516        code              = 6204;
517        name              = "Ain el Abd 1970";
518        crsName           = "Ain el Abd";
519        ellipsoidName     = "International 1924";
520        primeMeridianName = "Greenwich";
521        verifyDatum();
522        createAndVerifyGeographicCRS(4204, GEOGRAPHIC_2D);
523    }
524
525    /**
526     * Tests “Amersfoort” geodetic datum creation from the factory.
527     *
528     * <ul>
529     *   <li>EPSG datum code: <b>6289</b></li>
530     *   <li>EPSG datum name: <b>Amersfoort</b></li>
531     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
532     *   <li>Prime meridian name: <b>Greenwich</b></li>
533     *   <li>CRS using the datum: <b>Amersfoort</b></li>
534     *   <li>Particularly important to E&amp;P industry.</li>
535     * </ul>
536     *
537     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
538     */
539    @Test
540    public void testAmersfoort() throws FactoryException {
541        important         = true;
542        code              = 6289;
543        name              = "Amersfoort";
544        crsName           = "Amersfoort";
545        ellipsoidName     = "Bessel 1841";
546        primeMeridianName = "Greenwich";
547        verifyDatum();
548        createAndVerifyGeographicCRS(4289, GEOGRAPHIC_2D);
549    }
550
551    /**
552     * Tests “Aratu” geodetic datum creation from the factory.
553     *
554     * <ul>
555     *   <li>EPSG datum code: <b>6208</b></li>
556     *   <li>EPSG datum name: <b>Aratu</b></li>
557     *   <li>Ellipsoid name: <b>International 1924</b></li>
558     *   <li>Prime meridian name: <b>Greenwich</b></li>
559     *   <li>CRS using the datum: <b>Aratu</b></li>
560     *   <li>Particularly important to E&amp;P industry.</li>
561     * </ul>
562     *
563     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
564     */
565    @Test
566    public void testAratu() throws FactoryException {
567        important         = true;
568        code              = 6208;
569        name              = "Aratu";
570        crsName           = "Aratu";
571        ellipsoidName     = "International 1924";
572        primeMeridianName = "Greenwich";
573        verifyDatum();
574        createAndVerifyGeographicCRS(4208, GEOGRAPHIC_2D);
575    }
576
577    /**
578     * Tests “Batavia” geodetic datum creation from the factory.
579     *
580     * <ul>
581     *   <li>EPSG datum code: <b>6211</b></li>
582     *   <li>EPSG datum name: <b>Batavia</b></li>
583     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
584     *   <li>Prime meridian name: <b>Greenwich</b></li>
585     *   <li>CRS using the datum: <b>Batavia</b></li>
586     *   <li>Particularly important to E&amp;P industry.</li>
587     * </ul>
588     *
589     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
590     */
591    @Test
592    public void testBatavia() throws FactoryException {
593        important         = true;
594        code              = 6211;
595        name              = "Batavia";
596        crsName           = "Batavia";
597        ellipsoidName     = "Bessel 1841";
598        primeMeridianName = "Greenwich";
599        verifyDatum();
600        createAndVerifyGeographicCRS(4211, GEOGRAPHIC_2D);
601    }
602
603    /**
604     * Tests “Batavia (Jakarta)” geodetic datum creation from the factory.
605     *
606     * <ul>
607     *   <li>EPSG datum code: <b>6813</b></li>
608     *   <li>EPSG datum name: <b>Batavia (Jakarta)</b></li>
609     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
610     *   <li>Prime meridian name: <b>Jakarta</b></li>
611     *   <li>CRS using the datum: <b>Batavia (Jakarta)</b></li>
612     *   <li>Particularly important to E&amp;P industry.</li>
613     * </ul>
614     *
615     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
616     */
617    @Test
618    public void testBatavia_Jakarta() throws FactoryException {
619        important         = true;
620        code              = 6813;
621        name              = "Batavia (Jakarta)";
622        crsName           = "Batavia (Jakarta)";
623        ellipsoidName     = "Bessel 1841";
624        primeMeridianName = "Jakarta";
625        verifyDatum();
626        createAndVerifyGeographicCRS(4813, GEOGRAPHIC_2D);
627    }
628
629    /**
630     * Tests “Beijing 1954” geodetic datum creation from the factory.
631     *
632     * <ul>
633     *   <li>EPSG datum code: <b>6214</b></li>
634     *   <li>EPSG datum name: <b>Beijing 1954</b></li>
635     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
636     *   <li>Prime meridian name: <b>Greenwich</b></li>
637     *   <li>CRS using the datum: <b>Beijing 1954</b></li>
638     *   <li>Particularly important to E&amp;P industry.</li>
639     * </ul>
640     *
641     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
642     */
643    @Test
644    public void testBeijing() throws FactoryException {
645        important         = true;
646        code              = 6214;
647        name              = "Beijing 1954";
648        crsName           = "Beijing 1954";
649        ellipsoidName     = "Krassowsky 1940";
650        primeMeridianName = "Greenwich";
651        verifyDatum();
652        createAndVerifyGeographicCRS(4214, GEOGRAPHIC_2D);
653    }
654
655    /**
656     * Tests “Bogota 1975” geodetic datum creation from the factory.
657     *
658     * <ul>
659     *   <li>EPSG datum code: <b>6218</b></li>
660     *   <li>EPSG datum name: <b>Bogota 1975</b></li>
661     *   <li>Ellipsoid name: <b>International 1924</b></li>
662     *   <li>Prime meridian name: <b>Greenwich</b></li>
663     *   <li>CRS using the datum: <b>Bogota 1975</b></li>
664     *   <li>Particularly important to E&amp;P industry.</li>
665     * </ul>
666     *
667     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
668     */
669    @Test
670    public void testBogota() throws FactoryException {
671        important         = true;
672        code              = 6218;
673        name              = "Bogota 1975";
674        crsName           = "Bogota 1975";
675        ellipsoidName     = "International 1924";
676        primeMeridianName = "Greenwich";
677        verifyDatum();
678        createAndVerifyGeographicCRS(4218, GEOGRAPHIC_2D);
679    }
680
681    /**
682     * Tests “Camacupa” geodetic datum creation from the factory.
683     *
684     * <ul>
685     *   <li>EPSG datum code: <b>6220</b></li>
686     *   <li>EPSG datum name: <b>Camacupa</b></li>
687     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
688     *   <li>Prime meridian name: <b>Greenwich</b></li>
689     *   <li>CRS using the datum: <b>Camacupa</b></li>
690     *   <li>Particularly important to E&amp;P industry.</li>
691     * </ul>
692     *
693     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
694     */
695    @Test
696    public void testCamacupa() throws FactoryException {
697        important         = true;
698        code              = 6220;
699        name              = "Camacupa";
700        crsName           = "Camacupa";
701        ellipsoidName     = "Clarke 1880 (RGS)";
702        primeMeridianName = "Greenwich";
703        verifyDatum();
704        createAndVerifyGeographicCRS(4220, GEOGRAPHIC_2D);
705    }
706
707    /**
708     * Tests “Campo Inchauspe” geodetic datum creation from the factory.
709     *
710     * <ul>
711     *   <li>EPSG datum code: <b>6221</b></li>
712     *   <li>EPSG datum name: <b>Campo Inchauspe</b></li>
713     *   <li>Ellipsoid name: <b>International 1924</b></li>
714     *   <li>Prime meridian name: <b>Greenwich</b></li>
715     *   <li>CRS using the datum: <b>Campo Inchauspe</b></li>
716     *   <li>Particularly important to E&amp;P industry.</li>
717     * </ul>
718     *
719     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
720     */
721    @Test
722    public void testCampoInchauspe() throws FactoryException {
723        important         = true;
724        code              = 6221;
725        name              = "Campo Inchauspe";
726        crsName           = "Campo Inchauspe";
727        ellipsoidName     = "International 1924";
728        primeMeridianName = "Greenwich";
729        verifyDatum();
730        createAndVerifyGeographicCRS(4221, GEOGRAPHIC_2D);
731    }
732
733    /**
734     * Tests “Carthage” geodetic datum creation from the factory.
735     *
736     * <ul>
737     *   <li>EPSG datum code: <b>6223</b></li>
738     *   <li>EPSG datum name: <b>Carthage</b></li>
739     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
740     *   <li>Prime meridian name: <b>Greenwich</b></li>
741     *   <li>CRS using the datum: <b>Carthage</b></li>
742     *   <li>Particularly important to E&amp;P industry.</li>
743     * </ul>
744     *
745     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
746     */
747    @Test
748    public void testCarthage() throws FactoryException {
749        important         = true;
750        code              = 6223;
751        name              = "Carthage";
752        crsName           = "Carthage";
753        ellipsoidName     = "Clarke 1880 (IGN)";
754        primeMeridianName = "Greenwich";
755        verifyDatum();
756        createAndVerifyGeographicCRS(4223, GEOGRAPHIC_2D);
757    }
758
759    /**
760     * Tests “Chos Malal 1914” geodetic datum creation from the factory.
761     *
762     * <ul>
763     *   <li>EPSG datum code: <b>6160</b></li>
764     *   <li>EPSG datum name: <b>Chos Malal 1914</b></li>
765     *   <li>Ellipsoid name: <b>International 1924</b></li>
766     *   <li>Prime meridian name: <b>Greenwich</b></li>
767     *   <li>CRS using the datum: <b>Chos Malal 1914</b></li>
768     *   <li>Particularly important to E&amp;P industry.</li>
769     * </ul>
770     *
771     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
772     */
773    @Test
774    public void testChosMalal() throws FactoryException {
775        important         = true;
776        code              = 6160;
777        name              = "Chos Malal 1914";
778        crsName           = "Chos Malal 1914";
779        ellipsoidName     = "International 1924";
780        primeMeridianName = "Greenwich";
781        verifyDatum();
782        createAndVerifyGeographicCRS(4160, GEOGRAPHIC_2D);
783    }
784
785    /**
786     * Tests “Dealul Piscului 1930” geodetic datum creation from the factory.
787     *
788     * <ul>
789     *   <li>EPSG datum code: <b>6316</b></li>
790     *   <li>EPSG datum name: <b>Dealul Piscului 1930</b></li>
791     *   <li>Ellipsoid name: <b>International 1924</b></li>
792     *   <li>Prime meridian name: <b>Greenwich</b></li>
793     *   <li>CRS using the datum: <b>Dealul Piscului 1930</b></li>
794     *   <li>Particularly important to E&amp;P industry.</li>
795     * </ul>
796     *
797     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
798     */
799    @Test
800    public void testDealulPiscului() throws FactoryException {
801        important         = true;
802        code              = 6316;
803        name              = "Dealul Piscului 1930";
804        crsName           = "Dealul Piscului 1930";
805        ellipsoidName     = "International 1924";
806        primeMeridianName = "Greenwich";
807        verifyDatum();
808        createAndVerifyGeographicCRS(4316, GEOGRAPHIC_2D);
809    }
810
811    /**
812     * Tests “Deir ez Zor” geodetic datum creation from the factory.
813     *
814     * <ul>
815     *   <li>EPSG datum code: <b>6227</b></li>
816     *   <li>EPSG datum name: <b>Deir ez Zor</b></li>
817     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
818     *   <li>Prime meridian name: <b>Greenwich</b></li>
819     *   <li>CRS using the datum: <b>Deir ez Zor</b></li>
820     *   <li>Particularly important to E&amp;P industry.</li>
821     * </ul>
822     *
823     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
824     */
825    @Test
826    public void testDeirEzZor() throws FactoryException {
827        important         = true;
828        code              = 6227;
829        name              = "Deir ez Zor";
830        crsName           = "Deir ez Zor";
831        ellipsoidName     = "Clarke 1880 (IGN)";
832        primeMeridianName = "Greenwich";
833        verifyDatum();
834        createAndVerifyGeographicCRS(4227, GEOGRAPHIC_2D);
835    }
836
837    /**
838     * Tests “Datum Geodesi Nasional 1995” geodetic datum creation from the factory.
839     *
840     * <ul>
841     *   <li>EPSG datum code: <b>6755</b></li>
842     *   <li>EPSG datum name: <b>Datum Geodesi Nasional 1995</b></li>
843     *   <li>Ellipsoid name: <b>WGS 84</b></li>
844     *   <li>Prime meridian name: <b>Greenwich</b></li>
845     *   <li>CRS using the datum: <b>DGN95</b></li>
846     *   <li>Particularly important to E&amp;P industry.</li>
847     * </ul>
848     *
849     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
850     */
851    @Test
852    public void testDGN95() throws FactoryException {
853        important         = true;
854        code              = 6755;
855        name              = "Datum Geodesi Nasional 1995";
856        crsName           = "DGN95";
857        ellipsoidName     = "WGS 84";
858        primeMeridianName = "Greenwich";
859        verifyDatum();
860        createAndVerifyGeocentricCRS(4897);
861        createAndVerifyGeographicCRS(4898, GEOGRAPHIC_3D);
862        createAndVerifyGeographicCRS(4755, GEOGRAPHIC_2D);
863    }
864
865    /**
866     * Tests “Deutsches Hauptdreiecksnetz” geodetic datum creation from the factory.
867     *
868     * <ul>
869     *   <li>EPSG datum code: <b>6314</b></li>
870     *   <li>EPSG datum name: <b>Deutsches Hauptdreiecksnetz</b></li>
871     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
872     *   <li>Prime meridian name: <b>Greenwich</b></li>
873     *   <li>CRS using the datum: <b>DHDN</b></li>
874     *   <li>Particularly important to E&amp;P industry.</li>
875     * </ul>
876     *
877     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
878     */
879    @Test
880    public void testDHDN() throws FactoryException {
881        important         = true;
882        code              = 6314;
883        name              = "Deutsches Hauptdreiecksnetz";
884        crsName           = "DHDN";
885        ellipsoidName     = "Bessel 1841";
886        primeMeridianName = "Greenwich";
887        verifyDatum();
888        createAndVerifyGeographicCRS(4314, GEOGRAPHIC_2D);
889    }
890
891    /**
892     * Tests “Douala 1948” geodetic datum creation from the factory.
893     *
894     * <ul>
895     *   <li>EPSG datum code: <b>6192</b></li>
896     *   <li>EPSG datum name: <b>Douala 1948</b></li>
897     *   <li>Ellipsoid name: <b>International 1924</b></li>
898     *   <li>Prime meridian name: <b>Greenwich</b></li>
899     *   <li>CRS using the datum: <b>Douala 1948</b></li>
900     *   <li>Particularly important to E&amp;P industry.</li>
901     * </ul>
902     *
903     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
904     */
905    @Test
906    public void testDouala() throws FactoryException {
907        important         = true;
908        code              = 6192;
909        name              = "Douala 1948";
910        crsName           = "Douala 1948";
911        ellipsoidName     = "International 1924";
912        primeMeridianName = "Greenwich";
913        verifyDatum();
914        createAndVerifyGeographicCRS(4192, GEOGRAPHIC_2D);
915    }
916
917    /**
918     * Tests “European Datum 1950” geodetic datum creation from the factory.
919     *
920     * <ul>
921     *   <li>EPSG datum code: <b>6230</b></li>
922     *   <li>EPSG datum name: <b>European Datum 1950</b></li>
923     *   <li>Ellipsoid name: <b>International 1924</b></li>
924     *   <li>Prime meridian name: <b>Greenwich</b></li>
925     *   <li>CRS using the datum: <b>ED50</b></li>
926     *   <li>Particularly important to E&amp;P industry.</li>
927     * </ul>
928     *
929     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
930     */
931    @Test
932    public void testED50() throws FactoryException {
933        important         = true;
934        code              = 6230;
935        name              = "European Datum 1950";
936        crsName           = "ED50";
937        ellipsoidName     = "International 1924";
938        primeMeridianName = "Greenwich";
939        verifyDatum();
940        createAndVerifyGeographicCRS(4230, GEOGRAPHIC_2D);
941    }
942
943    /**
944     * Tests “European Datum 1950(1977)” geodetic datum creation from the factory.
945     *
946     * <ul>
947     *   <li>EPSG datum code: <b>6154</b></li>
948     *   <li>EPSG datum name: <b>European Datum 1950(1977)</b></li>
949     *   <li>Ellipsoid name: <b>International 1924</b></li>
950     *   <li>Prime meridian name: <b>Greenwich</b></li>
951     *   <li>CRS using the datum: <b>ED50(ED77)</b></li>
952     *   <li>Particularly important to E&amp;P industry.</li>
953     * </ul>
954     *
955     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
956     */
957    @Test
958    public void testED50_77() throws FactoryException {
959        important         = true;
960        code              = 6154;
961        name              = "European Datum 1950(1977)";
962        crsName           = "ED50(ED77)";
963        ellipsoidName     = "International 1924";
964        primeMeridianName = "Greenwich";
965        verifyDatum();
966        createAndVerifyGeographicCRS(4154, GEOGRAPHIC_2D);
967    }
968
969    /**
970     * Tests “Egypt 1907” geodetic datum creation from the factory.
971     *
972     * <ul>
973     *   <li>EPSG datum code: <b>6229</b></li>
974     *   <li>EPSG datum name: <b>Egypt 1907</b></li>
975     *   <li>Ellipsoid name: <b>Helmert 1906</b></li>
976     *   <li>Prime meridian name: <b>Greenwich</b></li>
977     *   <li>CRS using the datum: <b>Egypt 1907</b></li>
978     *   <li>Particularly important to E&amp;P industry.</li>
979     * </ul>
980     *
981     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
982     */
983    @Test
984    public void testEgypt1907() throws FactoryException {
985        important         = true;
986        code              = 6229;
987        name              = "Egypt 1907";
988        crsName           = "Egypt 1907";
989        ellipsoidName     = "Helmert 1906";
990        primeMeridianName = "Greenwich";
991        verifyDatum();
992        createAndVerifyGeographicCRS(4229, GEOGRAPHIC_2D);
993    }
994
995    /**
996     * Tests “Egypt Gulf of Suez S-650 TL” geodetic datum creation from the factory.
997     *
998     * <ul>
999     *   <li>EPSG datum code: <b>6706</b></li>
1000     *   <li>EPSG datum name: <b>Egypt Gulf of Suez S-650 TL</b></li>
1001     *   <li>Ellipsoid name: <b>Helmert 1906</b></li>
1002     *   <li>Prime meridian name: <b>Greenwich</b></li>
1003     *   <li>CRS using the datum: <b>Egypt Gulf of Suez S-650 TL</b></li>
1004     *   <li>Particularly important to E&amp;P industry.</li>
1005     * </ul>
1006     *
1007     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1008     */
1009    @Test
1010    public void testGulfOfSuez() throws FactoryException {
1011        important         = true;
1012        code              = 6706;
1013        name              = "Egypt Gulf of Suez S-650 TL";
1014        crsName           = "Egypt Gulf of Suez S-650 TL";
1015        ellipsoidName     = "Helmert 1906";
1016        primeMeridianName = "Greenwich";
1017        verifyDatum();
1018        createAndVerifyGeographicCRS(4706, GEOGRAPHIC_2D);
1019    }
1020
1021    /**
1022     * Tests “European Libyan Datum 1979” geodetic datum creation from the factory.
1023     *
1024     * <ul>
1025     *   <li>EPSG datum code: <b>6159</b></li>
1026     *   <li>EPSG datum name: <b>European Libyan Datum 1979</b></li>
1027     *   <li>Ellipsoid name: <b>International 1924</b></li>
1028     *   <li>Prime meridian name: <b>Greenwich</b></li>
1029     *   <li>CRS using the datum: <b>ELD79</b></li>
1030     *   <li>Particularly important to E&amp;P industry.</li>
1031     * </ul>
1032     *
1033     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1034     */
1035    @Test
1036    public void testELD79() throws FactoryException {
1037        important         = true;
1038        code              = 6159;
1039        name              = "European Libyan Datum 1979";
1040        crsName           = "ELD79";
1041        ellipsoidName     = "International 1924";
1042        primeMeridianName = "Greenwich";
1043        verifyDatum();
1044        createAndVerifyGeographicCRS(4159, GEOGRAPHIC_2D);
1045    }
1046
1047    /**
1048     * Tests “European Terrestrial Reference System 1989” geodetic datum creation from the factory.
1049     *
1050     * <ul>
1051     *   <li>EPSG datum code: <b>6258</b></li>
1052     *   <li>EPSG datum name: <b>European Terrestrial Reference System 1989</b></li>
1053     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1054     *   <li>Prime meridian name: <b>Greenwich</b></li>
1055     *   <li>CRS using the datum: <b>ETRS89</b></li>
1056     *   <li>Particularly important to E&amp;P industry.</li>
1057     * </ul>
1058     *
1059     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1060     */
1061    @Test
1062    public void testETRS89() throws FactoryException {
1063        important         = true;
1064        code              = 6258;
1065        name              = "European Terrestrial Reference System 1989";
1066        crsName           = "ETRS89";
1067        ellipsoidName     = "GRS 1980";
1068        primeMeridianName = "Greenwich";
1069        verifyDatum();
1070        createAndVerifyGeocentricCRS(4936);
1071        createAndVerifyGeographicCRS(4937, GEOGRAPHIC_3D);
1072        createAndVerifyGeographicCRS(4258, GEOGRAPHIC_2D);
1073    }
1074
1075    /**
1076     * Tests “Fahud” geodetic datum creation from the factory.
1077     *
1078     * <ul>
1079     *   <li>EPSG datum code: <b>6232</b></li>
1080     *   <li>EPSG datum name: <b>Fahud</b></li>
1081     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
1082     *   <li>Prime meridian name: <b>Greenwich</b></li>
1083     *   <li>CRS using the datum: <b>Fahud</b></li>
1084     *   <li>Particularly important to E&amp;P industry.</li>
1085     * </ul>
1086     *
1087     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1088     */
1089    @Test
1090    public void testFahud() throws FactoryException {
1091        important         = true;
1092        code              = 6232;
1093        name              = "Fahud";
1094        crsName           = "Fahud";
1095        ellipsoidName     = "Clarke 1880 (RGS)";
1096        primeMeridianName = "Greenwich";
1097        verifyDatum();
1098        createAndVerifyGeographicCRS(4232, GEOGRAPHIC_2D);
1099    }
1100
1101    /**
1102     * Tests “Final Datum 1958” geodetic datum creation from the factory.
1103     *
1104     * <ul>
1105     *   <li>EPSG datum code: <b>6132</b></li>
1106     *   <li>EPSG datum name: <b>Final Datum 1958</b></li>
1107     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
1108     *   <li>Prime meridian name: <b>Greenwich</b></li>
1109     *   <li>CRS using the datum: <b>FD58</b></li>
1110     *   <li>Particularly important to E&amp;P industry.</li>
1111     * </ul>
1112     *
1113     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1114     */
1115    @Test
1116    public void testFD58() throws FactoryException {
1117        important         = true;
1118        code              = 6132;
1119        name              = "Final Datum 1958";
1120        crsName           = "FD58";
1121        ellipsoidName     = "Clarke 1880 (RGS)";
1122        primeMeridianName = "Greenwich";
1123        verifyDatum();
1124        createAndVerifyGeographicCRS(4132, GEOGRAPHIC_2D);
1125    }
1126
1127    /**
1128     * Tests “Geocentric Datum of Australia 1994” geodetic datum creation from the factory.
1129     *
1130     * <ul>
1131     *   <li>EPSG datum code: <b>6283</b></li>
1132     *   <li>EPSG datum name: <b>Geocentric Datum of Australia 1994</b></li>
1133     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1134     *   <li>Prime meridian name: <b>Greenwich</b></li>
1135     *   <li>CRS using the datum: <b>GDA94</b></li>
1136     *   <li>Particularly important to E&amp;P industry.</li>
1137     * </ul>
1138     *
1139     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1140     */
1141    @Test
1142    public void testGDA94() throws FactoryException {
1143        important         = true;
1144        code              = 6283;
1145        name              = "Geocentric Datum of Australia 1994";
1146        crsName           = "GDA94";
1147        ellipsoidName     = "GRS 1980";
1148        primeMeridianName = "Greenwich";
1149        verifyDatum();
1150        createAndVerifyGeocentricCRS(4938);
1151        createAndVerifyGeographicCRS(4939, GEOGRAPHIC_3D);
1152        createAndVerifyGeographicCRS(4283, GEOGRAPHIC_2D);
1153    }
1154
1155    /**
1156     * Tests “Geodetic Datum of Malaysia 2000” geodetic datum creation from the factory.
1157     *
1158     * <ul>
1159     *   <li>EPSG datum code: <b>6742</b></li>
1160     *   <li>EPSG datum name: <b>Geodetic Datum of Malaysia 2000</b></li>
1161     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1162     *   <li>Prime meridian name: <b>Greenwich</b></li>
1163     *   <li>CRS using the datum: <b>GDM2000</b></li>
1164     *   <li>Particularly important to E&amp;P industry.</li>
1165     * </ul>
1166     *
1167     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1168     */
1169    @Test
1170    public void testGDM2000() throws FactoryException {
1171        important         = true;
1172        code              = 6742;
1173        name              = "Geodetic Datum of Malaysia 2000";
1174        crsName           = "GDM2000";
1175        ellipsoidName     = "GRS 1980";
1176        primeMeridianName = "Greenwich";
1177        verifyDatum();
1178        createAndVerifyGeocentricCRS(4920);
1179        createAndVerifyGeographicCRS(4921, GEOGRAPHIC_3D);
1180        createAndVerifyGeographicCRS(4742, GEOGRAPHIC_2D);
1181    }
1182
1183    /**
1184     * Tests “Hungarian Datum 1972” geodetic datum creation from the factory.
1185     *
1186     * <ul>
1187     *   <li>EPSG datum code: <b>6237</b></li>
1188     *   <li>EPSG datum name: <b>Hungarian Datum 1972</b></li>
1189     *   <li>Ellipsoid name: <b>GRS 1967</b></li>
1190     *   <li>Prime meridian name: <b>Greenwich</b></li>
1191     *   <li>CRS using the datum: <b>HD72</b></li>
1192     *   <li>Particularly important to E&amp;P industry.</li>
1193     * </ul>
1194     *
1195     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1196     */
1197    @Test
1198    public void testHD72() throws FactoryException {
1199        important         = true;
1200        code              = 6237;
1201        name              = "Hungarian Datum 1972";
1202        crsName           = "HD72";
1203        ellipsoidName     = "GRS 1967";
1204        primeMeridianName = "Greenwich";
1205        verifyDatum();
1206        createAndVerifyGeographicCRS(4237, GEOGRAPHIC_2D);
1207    }
1208
1209    /**
1210     * Tests “Hito XVIII 1963” geodetic datum creation from the factory.
1211     *
1212     * <ul>
1213     *   <li>EPSG datum code: <b>6254</b></li>
1214     *   <li>EPSG datum name: <b>Hito XVIII 1963</b></li>
1215     *   <li>Ellipsoid name: <b>International 1924</b></li>
1216     *   <li>Prime meridian name: <b>Greenwich</b></li>
1217     *   <li>CRS using the datum: <b>Hito XVIII 1963</b></li>
1218     *   <li>Particularly important to E&amp;P industry.</li>
1219     * </ul>
1220     *
1221     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1222     */
1223    @Test
1224    public void testHito() throws FactoryException {
1225        important         = true;
1226        code              = 6254;
1227        name              = "Hito XVIII 1963";
1228        crsName           = "Hito XVIII 1963";
1229        ellipsoidName     = "International 1924";
1230        primeMeridianName = "Greenwich";
1231        verifyDatum();
1232        createAndVerifyGeographicCRS(4254, GEOGRAPHIC_2D);
1233    }
1234
1235    /**
1236     * Tests “Indonesian Datum 1974” geodetic datum creation from the factory.
1237     *
1238     * <ul>
1239     *   <li>EPSG datum code: <b>6238</b></li>
1240     *   <li>EPSG datum name: <b>Indonesian Datum 1974</b></li>
1241     *   <li>Ellipsoid name: <b>Indonesian National Spheroid</b></li>
1242     *   <li>Prime meridian name: <b>Greenwich</b></li>
1243     *   <li>CRS using the datum: <b>ID74</b></li>
1244     *   <li>Particularly important to E&amp;P industry.</li>
1245     * </ul>
1246     *
1247     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1248     */
1249    @Test
1250    public void testID74() throws FactoryException {
1251        important         = true;
1252        code              = 6238;
1253        name              = "Indonesian Datum 1974";
1254        crsName           = "ID74";
1255        ellipsoidName     = "Indonesian National Spheroid";
1256        primeMeridianName = "Greenwich";
1257        verifyDatum();
1258        createAndVerifyGeographicCRS(4238, GEOGRAPHIC_2D);
1259    }
1260
1261    /**
1262     * Tests “IGN Astro 1960” geodetic datum creation from the factory.
1263     *
1264     * <ul>
1265     *   <li>EPSG datum code: <b>6700</b></li>
1266     *   <li>EPSG datum name: <b>IGN Astro 1960</b></li>
1267     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
1268     *   <li>Prime meridian name: <b>Greenwich</b></li>
1269     *   <li>CRS using the datum: <b>IGN Astro 1960</b></li>
1270     *   <li>Particularly important to E&amp;P industry.</li>
1271     * </ul>
1272     *
1273     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1274     */
1275    @Test
1276    public void testIGNAstro1960() throws FactoryException {
1277        important         = true;
1278        code              = 6700;
1279        name              = "IGN Astro 1960";
1280        crsName           = "IGN Astro 1960";
1281        ellipsoidName     = "Clarke 1880 (RGS)";
1282        primeMeridianName = "Greenwich";
1283        verifyDatum();
1284        createAndVerifyGeographicCRS(4700, GEOGRAPHIC_2D);
1285    }
1286
1287    /**
1288     * Tests “Indian 1954” geodetic datum creation from the factory.
1289     *
1290     * <ul>
1291     *   <li>EPSG datum code: <b>6239</b></li>
1292     *   <li>EPSG datum name: <b>Indian 1954</b></li>
1293     *   <li>Ellipsoid name: <b>Everest 1830 (1937 Adjustment)</b></li>
1294     *   <li>Prime meridian name: <b>Greenwich</b></li>
1295     *   <li>CRS using the datum: <b>Indian 1954</b></li>
1296     *   <li>Particularly important to E&amp;P industry.</li>
1297     * </ul>
1298     *
1299     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1300     */
1301    @Test
1302    public void testIndian1954() throws FactoryException {
1303        important         = true;
1304        code              = 6239;
1305        name              = "Indian 1954";
1306        crsName           = "Indian 1954";
1307        ellipsoidName     = "Everest 1830 (1937 Adjustment)";
1308        primeMeridianName = "Greenwich";
1309        verifyDatum();
1310        createAndVerifyGeographicCRS(4239, GEOGRAPHIC_2D);
1311    }
1312
1313    /**
1314     * Tests “Indian 1960” geodetic datum creation from the factory.
1315     *
1316     * <ul>
1317     *   <li>EPSG datum code: <b>6131</b></li>
1318     *   <li>EPSG datum name: <b>Indian 1960</b></li>
1319     *   <li>Ellipsoid name: <b>Everest 1830 (1937 Adjustment)</b></li>
1320     *   <li>Prime meridian name: <b>Greenwich</b></li>
1321     *   <li>CRS using the datum: <b>Indian 1960</b></li>
1322     *   <li>Particularly important to E&amp;P industry.</li>
1323     * </ul>
1324     *
1325     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1326     */
1327    @Test
1328    public void testIndian1960() throws FactoryException {
1329        important         = true;
1330        code              = 6131;
1331        name              = "Indian 1960";
1332        crsName           = "Indian 1960";
1333        ellipsoidName     = "Everest 1830 (1937 Adjustment)";
1334        primeMeridianName = "Greenwich";
1335        verifyDatum();
1336        createAndVerifyGeographicCRS(4131, GEOGRAPHIC_2D);
1337    }
1338
1339    /**
1340     * Tests “Indian 1975” geodetic datum creation from the factory.
1341     *
1342     * <ul>
1343     *   <li>EPSG datum code: <b>6240</b></li>
1344     *   <li>EPSG datum name: <b>Indian 1975</b></li>
1345     *   <li>Ellipsoid name: <b>Everest 1830 (1937 Adjustment)</b></li>
1346     *   <li>Prime meridian name: <b>Greenwich</b></li>
1347     *   <li>CRS using the datum: <b>Indian 1975</b></li>
1348     *   <li>Particularly important to E&amp;P industry.</li>
1349     * </ul>
1350     *
1351     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1352     */
1353    @Test
1354    public void testIndian1975() throws FactoryException {
1355        important         = true;
1356        code              = 6240;
1357        name              = "Indian 1975";
1358        crsName           = "Indian 1975";
1359        ellipsoidName     = "Everest 1830 (1937 Adjustment)";
1360        primeMeridianName = "Greenwich";
1361        verifyDatum();
1362        createAndVerifyGeographicCRS(4240, GEOGRAPHIC_2D);
1363    }
1364
1365    /**
1366     * Tests “Kalianpur 1937” geodetic datum creation from the factory.
1367     *
1368     * <ul>
1369     *   <li>EPSG datum code: <b>6144</b></li>
1370     *   <li>EPSG datum name: <b>Kalianpur 1937</b></li>
1371     *   <li>Ellipsoid name: <b>Everest 1830 (1937 Adjustment)</b></li>
1372     *   <li>Prime meridian name: <b>Greenwich</b></li>
1373     *   <li>CRS using the datum: <b>Kalianpur 1937</b></li>
1374     *   <li>Particularly important to E&amp;P industry.</li>
1375     * </ul>
1376     *
1377     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1378     */
1379    @Test
1380    public void testKalianpur1937() throws FactoryException {
1381        important         = true;
1382        code              = 6144;
1383        name              = "Kalianpur 1937";
1384        crsName           = "Kalianpur 1937";
1385        ellipsoidName     = "Everest 1830 (1937 Adjustment)";
1386        primeMeridianName = "Greenwich";
1387        verifyDatum();
1388        createAndVerifyGeographicCRS(4144, GEOGRAPHIC_2D);
1389    }
1390
1391    /**
1392     * Tests “Kalianpur 1962” geodetic datum creation from the factory.
1393     *
1394     * <ul>
1395     *   <li>EPSG datum code: <b>6145</b></li>
1396     *   <li>EPSG datum name: <b>Kalianpur 1962</b></li>
1397     *   <li>Ellipsoid name: <b>Everest 1830 (1962 Definition)</b></li>
1398     *   <li>Prime meridian name: <b>Greenwich</b></li>
1399     *   <li>CRS using the datum: <b>Kalianpur 1962</b></li>
1400     *   <li>Particularly important to E&amp;P industry.</li>
1401     * </ul>
1402     *
1403     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1404     */
1405    @Test
1406    public void testKalianpur1962() throws FactoryException {
1407        important         = true;
1408        code              = 6145;
1409        name              = "Kalianpur 1962";
1410        crsName           = "Kalianpur 1962";
1411        ellipsoidName     = "Everest 1830 (1962 Definition)";
1412        primeMeridianName = "Greenwich";
1413        verifyDatum();
1414        createAndVerifyGeographicCRS(4145, GEOGRAPHIC_2D);
1415    }
1416
1417    /**
1418     * Tests “Kalianpur 1975” geodetic datum creation from the factory.
1419     *
1420     * <ul>
1421     *   <li>EPSG datum code: <b>6146</b></li>
1422     *   <li>EPSG datum name: <b>Kalianpur 1975</b></li>
1423     *   <li>Ellipsoid name: <b>Everest 1830 (1975 Definition)</b></li>
1424     *   <li>Prime meridian name: <b>Greenwich</b></li>
1425     *   <li>CRS using the datum: <b>Kalianpur 1975</b></li>
1426     *   <li>Particularly important to E&amp;P industry.</li>
1427     * </ul>
1428     *
1429     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1430     */
1431    @Test
1432    public void testKalianpur1975() throws FactoryException {
1433        important         = true;
1434        code              = 6146;
1435        name              = "Kalianpur 1975";
1436        crsName           = "Kalianpur 1975";
1437        ellipsoidName     = "Everest 1830 (1975 Definition)";
1438        primeMeridianName = "Greenwich";
1439        verifyDatum();
1440        createAndVerifyGeographicCRS(4146, GEOGRAPHIC_2D);
1441    }
1442
1443    /**
1444     * Tests “Kertau 1968” geodetic datum creation from the factory.
1445     *
1446     * <ul>
1447     *   <li>EPSG datum code: <b>6245</b></li>
1448     *   <li>EPSG datum name: <b>Kertau 1968</b></li>
1449     *   <li>Ellipsoid name: <b>Everest 1830 Modified</b></li>
1450     *   <li>Prime meridian name: <b>Greenwich</b></li>
1451     *   <li>CRS using the datum: <b>Kertau 1968</b></li>
1452     *   <li>Particularly important to E&amp;P industry.</li>
1453     * </ul>
1454     *
1455     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1456     */
1457    @Test
1458    public void testKertau() throws FactoryException {
1459        important         = true;
1460        code              = 6245;
1461        name              = "Kertau 1968";
1462        crsName           = "Kertau 1968";
1463        ellipsoidName     = "Everest 1830 Modified";
1464        primeMeridianName = "Greenwich";
1465        verifyDatum();
1466        createAndVerifyGeographicCRS(4245, GEOGRAPHIC_2D);
1467    }
1468
1469    /**
1470     * Tests “Kuwait Oil Company” geodetic datum creation from the factory.
1471     *
1472     * <ul>
1473     *   <li>EPSG datum code: <b>6246</b></li>
1474     *   <li>EPSG datum name: <b>Kuwait Oil Company</b></li>
1475     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
1476     *   <li>Prime meridian name: <b>Greenwich</b></li>
1477     *   <li>CRS using the datum: <b>KOC</b></li>
1478     *   <li>Particularly important to E&amp;P industry.</li>
1479     * </ul>
1480     *
1481     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1482     */
1483    @Test
1484    public void testKOC() throws FactoryException {
1485        important         = true;
1486        code              = 6246;
1487        name              = "Kuwait Oil Company";
1488        crsName           = "KOC";
1489        ellipsoidName     = "Clarke 1880 (RGS)";
1490        primeMeridianName = "Greenwich";
1491        verifyDatum();
1492        createAndVerifyGeographicCRS(4246, GEOGRAPHIC_2D);
1493    }
1494
1495    /**
1496     * Tests “Libyan Geodetic Datum 2006” geodetic datum creation from the factory.
1497     *
1498     * <ul>
1499     *   <li>EPSG datum code: <b>6754</b></li>
1500     *   <li>EPSG datum name: <b>Libyan Geodetic Datum 2006</b></li>
1501     *   <li>Ellipsoid name: <b>International 1924</b></li>
1502     *   <li>Prime meridian name: <b>Greenwich</b></li>
1503     *   <li>CRS using the datum: <b>LGD2006</b></li>
1504     *   <li>Particularly important to E&amp;P industry.</li>
1505     * </ul>
1506     *
1507     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1508     */
1509    @Test
1510    public void testLGD2006() throws FactoryException {
1511        important         = true;
1512        code              = 6754;
1513        name              = "Libyan Geodetic Datum 2006";
1514        crsName           = "LGD2006";
1515        ellipsoidName     = "International 1924";
1516        primeMeridianName = "Greenwich";
1517        verifyDatum();
1518        createAndVerifyGeocentricCRS(4899);
1519        createAndVerifyGeographicCRS(4900, GEOGRAPHIC_3D);
1520        createAndVerifyGeographicCRS(4754, GEOGRAPHIC_2D);
1521    }
1522
1523    /**
1524     * Tests “Luzon 1911” geodetic datum creation from the factory.
1525     *
1526     * <ul>
1527     *   <li>EPSG datum code: <b>6253</b></li>
1528     *   <li>EPSG datum name: <b>Luzon 1911</b></li>
1529     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
1530     *   <li>Prime meridian name: <b>Greenwich</b></li>
1531     *   <li>CRS using the datum: <b>Luzon 1911</b></li>
1532     *   <li>Particularly important to E&amp;P industry.</li>
1533     * </ul>
1534     *
1535     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1536     */
1537    @Test
1538    public void testLuzon() throws FactoryException {
1539        important         = true;
1540        code              = 6253;
1541        name              = "Luzon 1911";
1542        crsName           = "Luzon 1911";
1543        ellipsoidName     = "Clarke 1866";
1544        primeMeridianName = "Greenwich";
1545        verifyDatum();
1546        createAndVerifyGeographicCRS(4253, GEOGRAPHIC_2D);
1547    }
1548
1549    /**
1550     * Tests “Marco Geocentrico Nacional de Referencia” geodetic datum creation from the factory.
1551     *
1552     * <ul>
1553     *   <li>EPSG datum code: <b>6686</b></li>
1554     *   <li>EPSG datum name: <b>Marco Geocentrico Nacional de Referencia</b></li>
1555     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1556     *   <li>Prime meridian name: <b>Greenwich</b></li>
1557     *   <li>CRS using the datum: <b>MAGNA-SIRGAS</b></li>
1558     *   <li>Particularly important to E&amp;P industry.</li>
1559     * </ul>
1560     *
1561     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1562     */
1563    @Test
1564    public void testMAGNA_SIRGAS() throws FactoryException {
1565        important         = true;
1566        code              = 6686;
1567        name              = "Marco Geocentrico Nacional de Referencia";
1568        crsName           = "MAGNA-SIRGAS";
1569        ellipsoidName     = "GRS 1980";
1570        primeMeridianName = "Greenwich";
1571        verifyDatum();
1572        createAndVerifyGeocentricCRS(4996);
1573        createAndVerifyGeographicCRS(4997, GEOGRAPHIC_3D);
1574        createAndVerifyGeographicCRS(4686, GEOGRAPHIC_2D);
1575    }
1576
1577    /**
1578     * Tests “Malongo 1987” geodetic datum creation from the factory.
1579     *
1580     * <ul>
1581     *   <li>EPSG datum code: <b>6259</b></li>
1582     *   <li>EPSG datum name: <b>Malongo 1987</b></li>
1583     *   <li>Ellipsoid name: <b>International 1924</b></li>
1584     *   <li>Prime meridian name: <b>Greenwich</b></li>
1585     *   <li>CRS using the datum: <b>Malongo 1987</b></li>
1586     *   <li>Particularly important to E&amp;P industry.</li>
1587     * </ul>
1588     *
1589     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1590     */
1591    @Test
1592    public void testMalongo() throws FactoryException {
1593        important         = true;
1594        code              = 6259;
1595        name              = "Malongo 1987";
1596        crsName           = "Malongo 1987";
1597        ellipsoidName     = "International 1924";
1598        primeMeridianName = "Greenwich";
1599        verifyDatum();
1600        createAndVerifyGeographicCRS(4259, GEOGRAPHIC_2D);
1601    }
1602
1603    /**
1604     * Tests “Manoca 1962” geodetic datum creation from the factory.
1605     *
1606     * <ul>
1607     *   <li>EPSG datum code: <b>6193</b></li>
1608     *   <li>EPSG datum name: <b>Manoca 1962</b></li>
1609     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
1610     *   <li>Prime meridian name: <b>Greenwich</b></li>
1611     *   <li>CRS using the datum: <b>Manoca 1962</b></li>
1612     *   <li>Particularly important to E&amp;P industry.</li>
1613     * </ul>
1614     *
1615     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1616     */
1617    @Test
1618    public void testManoca() throws FactoryException {
1619        important         = true;
1620        code              = 6193;
1621        name              = "Manoca 1962";
1622        crsName           = "Manoca 1962";
1623        ellipsoidName     = "Clarke 1880 (IGN)";
1624        primeMeridianName = "Greenwich";
1625        verifyDatum();
1626        createAndVerifyGeographicCRS(4193, GEOGRAPHIC_2D);
1627    }
1628
1629    /**
1630     * Tests “Mauritania 1999” geodetic datum creation from the factory.
1631     *
1632     * <ul>
1633     *   <li>EPSG datum code: <b>6702</b></li>
1634     *   <li>EPSG datum name: <b>Mauritania 1999</b></li>
1635     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1636     *   <li>Prime meridian name: <b>Greenwich</b></li>
1637     *   <li>CRS using the datum: <b>Mauritania 1999</b></li>
1638     *   <li>Particularly important to E&amp;P industry.</li>
1639     * </ul>
1640     *
1641     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1642     */
1643    @Test
1644    public void testMauritania() throws FactoryException {
1645        important         = true;
1646        code              = 6702;
1647        name              = "Mauritania 1999";
1648        crsName           = "Mauritania 1999";
1649        ellipsoidName     = "GRS 1980";
1650        primeMeridianName = "Greenwich";
1651        verifyDatum();
1652        createAndVerifyGeocentricCRS(4924);
1653        createAndVerifyGeographicCRS(4925, GEOGRAPHIC_3D);
1654        createAndVerifyGeographicCRS(4702, GEOGRAPHIC_2D);
1655    }
1656
1657    /**
1658     * Tests “Militar-Geographische Institut” geodetic datum creation from the factory.
1659     *
1660     * <ul>
1661     *   <li>EPSG datum code: <b>6312</b></li>
1662     *   <li>EPSG datum name: <b>Militar-Geographische Institut</b></li>
1663     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
1664     *   <li>Prime meridian name: <b>Greenwich</b></li>
1665     *   <li>CRS using the datum: <b>MGI</b></li>
1666     *   <li>Particularly important to E&amp;P industry.</li>
1667     * </ul>
1668     *
1669     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1670     */
1671    @Test
1672    public void testMGI() throws FactoryException {
1673        important         = true;
1674        code              = 6312;
1675        name              = "Militar-Geographische Institut";
1676        crsName           = "MGI";
1677        ellipsoidName     = "Bessel 1841";
1678        primeMeridianName = "Greenwich";
1679        verifyDatum();
1680        createAndVerifyGeographicCRS(4312, GEOGRAPHIC_2D);
1681    }
1682
1683    /**
1684     * Tests “Militar-Geographische Institut (Ferro)” geodetic datum creation from the factory.
1685     *
1686     * <ul>
1687     *   <li>EPSG datum code: <b>6805</b></li>
1688     *   <li>EPSG datum name: <b>Militar-Geographische Institut (Ferro)</b></li>
1689     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
1690     *   <li>Prime meridian name: <b>Ferro</b></li>
1691     *   <li>CRS using the datum: <b>MGI (Ferro)</b></li>
1692     *   <li>Particularly important to E&amp;P industry.</li>
1693     * </ul>
1694     *
1695     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1696     */
1697    @Test
1698    public void testMGI_Ferro() throws FactoryException {
1699        important         = true;
1700        code              = 6805;
1701        name              = "Militar-Geographische Institut (Ferro)";
1702        crsName           = "MGI (Ferro)";
1703        ellipsoidName     = "Bessel 1841";
1704        primeMeridianName = "Ferro";
1705        verifyDatum();
1706        createAndVerifyGeographicCRS(4805, GEOGRAPHIC_2D);
1707    }
1708
1709    /**
1710     * Tests “Mhast (offshore)” geodetic datum creation from the factory.
1711     *
1712     * <ul>
1713     *   <li>EPSG datum code: <b>6705</b></li>
1714     *   <li>EPSG datum name: <b>Mhast (offshore)</b></li>
1715     *   <li>Ellipsoid name: <b>International 1924</b></li>
1716     *   <li>Prime meridian name: <b>Greenwich</b></li>
1717     *   <li>CRS using the datum: <b>Mhast (offshore)</b></li>
1718     *   <li>Particularly important to E&amp;P industry.</li>
1719     * </ul>
1720     *
1721     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1722     */
1723    @Test
1724    public void testMhast_offshore() throws FactoryException {
1725        important         = true;
1726        code              = 6705;
1727        name              = "Mhast (offshore)";
1728        crsName           = "Mhast (offshore)";
1729        ellipsoidName     = "International 1924";
1730        primeMeridianName = "Greenwich";
1731        verifyDatum();
1732        createAndVerifyGeographicCRS(4705, GEOGRAPHIC_2D);
1733    }
1734
1735    /**
1736     * Tests “Mhast (onshore)” geodetic datum creation from the factory.
1737     *
1738     * <ul>
1739     *   <li>EPSG datum code: <b>6704</b></li>
1740     *   <li>EPSG datum name: <b>Mhast (onshore)</b></li>
1741     *   <li>Ellipsoid name: <b>International 1924</b></li>
1742     *   <li>Prime meridian name: <b>Greenwich</b></li>
1743     *   <li>CRS using the datum: <b>Mhast (onshore)</b></li>
1744     *   <li>Particularly important to E&amp;P industry.</li>
1745     * </ul>
1746     *
1747     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1748     */
1749    @Test
1750    public void testMhast_onshore() throws FactoryException {
1751        important         = true;
1752        code              = 6704;
1753        name              = "Mhast (onshore)";
1754        crsName           = "Mhast (onshore)";
1755        ellipsoidName     = "International 1924";
1756        primeMeridianName = "Greenwich";
1757        verifyDatum();
1758        createAndVerifyGeographicCRS(4704, GEOGRAPHIC_2D);
1759    }
1760
1761    /**
1762     * Tests “Minna” geodetic datum creation from the factory.
1763     *
1764     * <ul>
1765     *   <li>EPSG datum code: <b>6263</b></li>
1766     *   <li>EPSG datum name: <b>Minna</b></li>
1767     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
1768     *   <li>Prime meridian name: <b>Greenwich</b></li>
1769     *   <li>CRS using the datum: <b>Minna</b></li>
1770     *   <li>Particularly important to E&amp;P industry.</li>
1771     * </ul>
1772     *
1773     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1774     */
1775    @Test
1776    public void testMinna() throws FactoryException {
1777        important         = true;
1778        code              = 6263;
1779        name              = "Minna";
1780        crsName           = "Minna";
1781        ellipsoidName     = "Clarke 1880 (RGS)";
1782        primeMeridianName = "Greenwich";
1783        verifyDatum();
1784        createAndVerifyGeographicCRS(4263, GEOGRAPHIC_2D);
1785    }
1786
1787    /**
1788     * Tests “Monte Mario” geodetic datum creation from the factory.
1789     *
1790     * <ul>
1791     *   <li>EPSG datum code: <b>6265</b></li>
1792     *   <li>EPSG datum name: <b>Monte Mario</b></li>
1793     *   <li>Ellipsoid name: <b>International 1924</b></li>
1794     *   <li>Prime meridian name: <b>Greenwich</b></li>
1795     *   <li>CRS using the datum: <b>Monte Mario</b></li>
1796     *   <li>Particularly important to E&amp;P industry.</li>
1797     * </ul>
1798     *
1799     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1800     */
1801    @Test
1802    public void testMonteMario() throws FactoryException {
1803        important         = true;
1804        code              = 6265;
1805        name              = "Monte Mario";
1806        crsName           = "Monte Mario";
1807        ellipsoidName     = "International 1924";
1808        primeMeridianName = "Greenwich";
1809        verifyDatum();
1810        createAndVerifyGeographicCRS(4265, GEOGRAPHIC_2D);
1811    }
1812
1813    /**
1814     * Tests “M'poraloko” geodetic datum creation from the factory.
1815     *
1816     * <ul>
1817     *   <li>EPSG datum code: <b>6266</b></li>
1818     *   <li>EPSG datum name: <b>M'poraloko</b></li>
1819     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
1820     *   <li>Prime meridian name: <b>Greenwich</b></li>
1821     *   <li>CRS using the datum: <b>M'poraloko</b></li>
1822     *   <li>Particularly important to E&amp;P industry.</li>
1823     * </ul>
1824     *
1825     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1826     */
1827    @Test
1828    public void testMPoraloko() throws FactoryException {
1829        important         = true;
1830        code              = 6266;
1831        name              = "M'poraloko";
1832        crsName           = "M'poraloko";
1833        ellipsoidName     = "Clarke 1880 (IGN)";
1834        primeMeridianName = "Greenwich";
1835        verifyDatum();
1836        createAndVerifyGeographicCRS(4266, GEOGRAPHIC_2D);
1837    }
1838
1839    /**
1840     * Tests “North American Datum 1927” geodetic datum creation from the factory.
1841     *
1842     * <ul>
1843     *   <li>EPSG datum code: <b>6267</b></li>
1844     *   <li>EPSG datum name: <b>North American Datum 1927</b></li>
1845     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
1846     *   <li>Prime meridian name: <b>Greenwich</b></li>
1847     *   <li>CRS using the datum: <b>NAD27</b></li>
1848     *   <li>Particularly important to E&amp;P industry.</li>
1849     * </ul>
1850     *
1851     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1852     */
1853    @Test
1854    public void testNAD27() throws FactoryException {
1855        important         = true;
1856        code              = 6267;
1857        name              = "North American Datum 1927";
1858        crsName           = "NAD27";
1859        ellipsoidName     = "Clarke 1866";
1860        primeMeridianName = "Greenwich";
1861        verifyDatum();
1862        createAndVerifyGeographicCRS(4267, GEOGRAPHIC_2D);
1863    }
1864
1865    /**
1866     * Tests “NAD27 Michigan” geodetic datum creation from the factory <em>(deprecated)</em>.
1867     * This is test is executed only if {@link #isDeprecatedObjectCreationSupported} is {@code true}.
1868     *
1869     * <ul>
1870     *   <li>EPSG datum code: <b>6268</b></li>
1871     *   <li>EPSG datum name: <b>NAD27 Michigan</b></li>
1872     *   <li>Ellipsoid name: <b>Clarke 1866 Michigan</b></li>
1873     *   <li>Prime meridian name: <b>Greenwich</b></li>
1874     *   <li>CRS using the datum: <b>NAD27 Michigan</b></li>
1875     *   <li><b>Deprecated:</b> Ellipsoid scaling moved from datum to map projection to accord with NGS practice.</li>
1876     * </ul>
1877     *
1878     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1879     */
1880    @Test
1881    public void testNAD27_Michigan() throws FactoryException {
1882        important         = true;
1883        code              = 6268;
1884        name              = "NAD27 Michigan";
1885        crsName           = "NAD27 Michigan";
1886        ellipsoidName     = "Clarke 1866 Michigan";
1887        primeMeridianName = "Greenwich";
1888        assumeTrue("Creation of deprecated objects not supported.", isDeprecatedObjectCreationSupported);
1889        verifyDatum();
1890        createAndVerifyGeographicCRS(4268, GEOGRAPHIC_2D);
1891    }
1892
1893    /**
1894     * Tests “North American Datum 1983” geodetic datum creation from the factory.
1895     *
1896     * <ul>
1897     *   <li>EPSG datum code: <b>6269</b></li>
1898     *   <li>EPSG datum name: <b>North American Datum 1983</b></li>
1899     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1900     *   <li>Prime meridian name: <b>Greenwich</b></li>
1901     *   <li>CRS using the datum: <b>NAD83</b></li>
1902     *   <li>Particularly important to E&amp;P industry.</li>
1903     * </ul>
1904     *
1905     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1906     */
1907    @Test
1908    public void testNAD83() throws FactoryException {
1909        important         = true;
1910        code              = 6269;
1911        name              = "North American Datum 1983";
1912        crsName           = "NAD83";
1913        ellipsoidName     = "GRS 1980";
1914        primeMeridianName = "Greenwich";
1915        verifyDatum();
1916        createAndVerifyGeographicCRS(4269, GEOGRAPHIC_2D);
1917    }
1918
1919    /**
1920     * Tests “NAD83 Canadian Spatial Reference System” geodetic datum creation from the factory.
1921     *
1922     * <ul>
1923     *   <li>EPSG datum code: <b>6140</b></li>
1924     *   <li>EPSG datum name: <b>NAD83 Canadian Spatial Reference System</b></li>
1925     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1926     *   <li>Prime meridian name: <b>Greenwich</b></li>
1927     *   <li>CRS using the datum: <b>NAD83(CSRS)</b></li>
1928     *   <li>Particularly important to E&amp;P industry.</li>
1929     * </ul>
1930     *
1931     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1932     */
1933    @Test
1934    public void testNAD83_CSRS() throws FactoryException {
1935        important         = true;
1936        code              = 6140;
1937        name              = "NAD83 Canadian Spatial Reference System";
1938        crsName           = "NAD83(CSRS)";
1939        ellipsoidName     = "GRS 1980";
1940        primeMeridianName = "Greenwich";
1941        verifyDatum();
1942        createAndVerifyGeocentricCRS(4954);
1943        createAndVerifyGeographicCRS(4955, GEOGRAPHIC_3D);
1944        createAndVerifyGeographicCRS(4617, GEOGRAPHIC_2D);
1945    }
1946
1947    /**
1948     * Tests “NAD83 (High Accuracy Reference Network)” geodetic datum creation from the factory.
1949     *
1950     * <ul>
1951     *   <li>EPSG datum code: <b>6152</b></li>
1952     *   <li>EPSG datum name: <b>NAD83 (High Accuracy Reference Network)</b></li>
1953     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1954     *   <li>Prime meridian name: <b>Greenwich</b></li>
1955     *   <li>CRS using the datum: <b>NAD83(HARN)</b></li>
1956     *   <li>Particularly important to E&amp;P industry.</li>
1957     * </ul>
1958     *
1959     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1960     */
1961    @Test
1962    public void testNAD83_HARN() throws FactoryException {
1963        important         = true;
1964        code              = 6152;
1965        name              = "NAD83 (High Accuracy Reference Network)";
1966        crsName           = "NAD83(HARN)";
1967        ellipsoidName     = "GRS 1980";
1968        primeMeridianName = "Greenwich";
1969        verifyDatum();
1970        createAndVerifyGeocentricCRS(4956);
1971        createAndVerifyGeographicCRS(4957, GEOGRAPHIC_3D);
1972        createAndVerifyGeographicCRS(4152, GEOGRAPHIC_2D);
1973    }
1974
1975    /**
1976     * Tests “NAD83 (National Spatial Reference System 2007)” geodetic datum creation from the factory.
1977     *
1978     * <ul>
1979     *   <li>EPSG datum code: <b>6759</b></li>
1980     *   <li>EPSG datum name: <b>NAD83 (National Spatial Reference System 2007)</b></li>
1981     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
1982     *   <li>Prime meridian name: <b>Greenwich</b></li>
1983     *   <li>CRS using the datum: <b>NAD83(NSRS2007)</b></li>
1984     *   <li>Particularly important to E&amp;P industry.</li>
1985     * </ul>
1986     *
1987     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
1988     */
1989    @Test
1990    public void testNAD83_NSRS2007() throws FactoryException {
1991        important         = true;
1992        code              = 6759;
1993        name              = "NAD83 (National Spatial Reference System 2007)";
1994        crsName           = "NAD83(NSRS2007)";
1995        ellipsoidName     = "GRS 1980";
1996        primeMeridianName = "Greenwich";
1997        verifyDatum();
1998        createAndVerifyGeocentricCRS(4892);
1999        createAndVerifyGeographicCRS(4893, GEOGRAPHIC_3D);
2000        createAndVerifyGeographicCRS(4759, GEOGRAPHIC_2D);
2001    }
2002
2003    /**
2004     * Tests “Nahrwan 1967” geodetic datum creation from the factory.
2005     *
2006     * <ul>
2007     *   <li>EPSG datum code: <b>6270</b></li>
2008     *   <li>EPSG datum name: <b>Nahrwan 1967</b></li>
2009     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
2010     *   <li>Prime meridian name: <b>Greenwich</b></li>
2011     *   <li>CRS using the datum: <b>Nahrwan 1967</b></li>
2012     *   <li>Particularly important to E&amp;P industry.</li>
2013     * </ul>
2014     *
2015     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2016     */
2017    @Test
2018    public void testNahrwan1967() throws FactoryException {
2019        important         = true;
2020        code              = 6270;
2021        name              = "Nahrwan 1967";
2022        crsName           = "Nahrwan 1967";
2023        ellipsoidName     = "Clarke 1880 (RGS)";
2024        primeMeridianName = "Greenwich";
2025        verifyDatum();
2026        createAndVerifyGeographicCRS(4270, GEOGRAPHIC_2D);
2027    }
2028
2029    /**
2030     * Tests “Naparima 1955” geodetic datum creation from the factory.
2031     *
2032     * <ul>
2033     *   <li>EPSG datum code: <b>6158</b></li>
2034     *   <li>EPSG datum name: <b>Naparima 1955</b></li>
2035     *   <li>Ellipsoid name: <b>International 1924</b></li>
2036     *   <li>Prime meridian name: <b>Greenwich</b></li>
2037     *   <li>CRS using the datum: <b>Naparima 1955</b></li>
2038     *   <li>Particularly important to E&amp;P industry.</li>
2039     * </ul>
2040     *
2041     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2042     */
2043    @Test
2044    public void testNaparima1955() throws FactoryException {
2045        important         = true;
2046        code              = 6158;
2047        name              = "Naparima 1955";
2048        crsName           = "Naparima 1955";
2049        ellipsoidName     = "International 1924";
2050        primeMeridianName = "Greenwich";
2051        verifyDatum();
2052        createAndVerifyGeographicCRS(4158, GEOGRAPHIC_2D);
2053    }
2054
2055    /**
2056     * Tests “Nord Sahara 1959” geodetic datum creation from the factory.
2057     *
2058     * <ul>
2059     *   <li>EPSG datum code: <b>6307</b></li>
2060     *   <li>EPSG datum name: <b>Nord Sahara 1959</b></li>
2061     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
2062     *   <li>Prime meridian name: <b>Greenwich</b></li>
2063     *   <li>CRS using the datum: <b>Nord Sahara 1959</b></li>
2064     *   <li>Particularly important to E&amp;P industry.</li>
2065     * </ul>
2066     *
2067     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2068     */
2069    @Test
2070    public void testNordSahara() throws FactoryException {
2071        important         = true;
2072        code              = 6307;
2073        name              = "Nord Sahara 1959";
2074        crsName           = "Nord Sahara 1959";
2075        ellipsoidName     = "Clarke 1880 (RGS)";
2076        primeMeridianName = "Greenwich";
2077        verifyDatum();
2078        createAndVerifyGeographicCRS(4307, GEOGRAPHIC_2D);
2079    }
2080
2081    /**
2082     * Tests “Nouvelle Triangulation Francaise” geodetic datum creation from the factory.
2083     *
2084     * <ul>
2085     *   <li>EPSG datum code: <b>6275</b></li>
2086     *   <li>EPSG datum name: <b>Nouvelle Triangulation Francaise</b></li>
2087     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
2088     *   <li>Prime meridian name: <b>Greenwich</b></li>
2089     *   <li>CRS using the datum: <b>NTF</b></li>
2090     *   <li>Particularly important to E&amp;P industry.</li>
2091     * </ul>
2092     *
2093     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2094     */
2095    @Test
2096    public void testNTF() throws FactoryException {
2097        important         = true;
2098        code              = 6275;
2099        name              = "Nouvelle Triangulation Francaise";
2100        crsName           = "NTF";
2101        ellipsoidName     = "Clarke 1880 (IGN)";
2102        primeMeridianName = "Greenwich";
2103        verifyDatum();
2104        createAndVerifyGeographicCRS(4275, GEOGRAPHIC_2D);
2105    }
2106
2107    /**
2108     * Tests “Nouvelle Triangulation Francaise (Paris)” geodetic datum creation from the factory.
2109     *
2110     * <ul>
2111     *   <li>EPSG datum code: <b>6807</b></li>
2112     *   <li>EPSG datum name: <b>Nouvelle Triangulation Francaise (Paris)</b></li>
2113     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
2114     *   <li>Prime meridian name: <b>Paris</b></li>
2115     *   <li>CRS using the datum: <b>NTF (Paris)</b></li>
2116     *   <li>Particularly important to E&amp;P industry.</li>
2117     * </ul>
2118     *
2119     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2120     */
2121    @Test
2122    public void testNTF_Paris() throws FactoryException {
2123        important         = true;
2124        code              = 6807;
2125        name              = "Nouvelle Triangulation Francaise (Paris)";
2126        crsName           = "NTF (Paris)";
2127        ellipsoidName     = "Clarke 1880 (IGN)";
2128        primeMeridianName = "Paris";
2129        verifyDatum();
2130        createAndVerifyGeographicCRS(4807, GEOGRAPHIC_2D);
2131    }
2132
2133    /**
2134     * Tests “New Zealand Geodetic Datum 2000” geodetic datum creation from the factory.
2135     *
2136     * <ul>
2137     *   <li>EPSG datum code: <b>6167</b></li>
2138     *   <li>EPSG datum name: <b>New Zealand Geodetic Datum 2000</b></li>
2139     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
2140     *   <li>Prime meridian name: <b>Greenwich</b></li>
2141     *   <li>CRS using the datum: <b>NZGD2000</b></li>
2142     *   <li>Particularly important to E&amp;P industry.</li>
2143     * </ul>
2144     *
2145     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2146     */
2147    @Test
2148    public void testNZGD2000() throws FactoryException {
2149        important         = true;
2150        code              = 6167;
2151        name              = "New Zealand Geodetic Datum 2000";
2152        crsName           = "NZGD2000";
2153        ellipsoidName     = "GRS 1980";
2154        primeMeridianName = "Greenwich";
2155        verifyDatum();
2156        createAndVerifyGeocentricCRS(4958);
2157        createAndVerifyGeographicCRS(4959, GEOGRAPHIC_3D);
2158        createAndVerifyGeographicCRS(4167, GEOGRAPHIC_2D);
2159    }
2160
2161    /**
2162     * Tests “New Zealand Geodetic Datum 1949” geodetic datum creation from the factory.
2163     *
2164     * <ul>
2165     *   <li>EPSG datum code: <b>6272</b></li>
2166     *   <li>EPSG datum name: <b>New Zealand Geodetic Datum 1949</b></li>
2167     *   <li>Ellipsoid name: <b>International 1924</b></li>
2168     *   <li>Prime meridian name: <b>Greenwich</b></li>
2169     *   <li>CRS using the datum: <b>NZGD49</b></li>
2170     *   <li>Particularly important to E&amp;P industry.</li>
2171     * </ul>
2172     *
2173     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2174     */
2175    @Test
2176    public void testNZGD49() throws FactoryException {
2177        important         = true;
2178        code              = 6272;
2179        name              = "New Zealand Geodetic Datum 1949";
2180        crsName           = "NZGD49";
2181        ellipsoidName     = "International 1924";
2182        primeMeridianName = "Greenwich";
2183        verifyDatum();
2184        createAndVerifyGeographicCRS(4272, GEOGRAPHIC_2D);
2185    }
2186
2187    /**
2188     * Tests “OSGB 1936” geodetic datum creation from the factory.
2189     *
2190     * <ul>
2191     *   <li>EPSG datum code: <b>6277</b></li>
2192     *   <li>EPSG datum name: <b>OSGB 1936</b></li>
2193     *   <li>Ellipsoid name: <b>Airy 1830</b></li>
2194     *   <li>Prime meridian name: <b>Greenwich</b></li>
2195     *   <li>CRS using the datum: <b>OSGB 1936</b></li>
2196     *   <li>Particularly important to E&amp;P industry.</li>
2197     * </ul>
2198     *
2199     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2200     */
2201    @Test
2202    public void testOSGB1936() throws FactoryException {
2203        important         = true;
2204        code              = 6277;
2205        name              = "OSGB 1936";
2206        crsName           = "OSGB 1936";
2207        ellipsoidName     = "Airy 1830";
2208        primeMeridianName = "Greenwich";
2209        verifyDatum();
2210        createAndVerifyGeographicCRS(4277, GEOGRAPHIC_2D);
2211    }
2212
2213    /**
2214     * Tests “Padang 1884” geodetic datum creation from the factory.
2215     *
2216     * <ul>
2217     *   <li>EPSG datum code: <b>6280</b></li>
2218     *   <li>EPSG datum name: <b>Padang 1884</b></li>
2219     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
2220     *   <li>Prime meridian name: <b>Greenwich</b></li>
2221     *   <li>CRS using the datum: <b>Padang</b></li>
2222     *   <li>Particularly important to E&amp;P industry.</li>
2223     * </ul>
2224     *
2225     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2226     */
2227    @Test
2228    public void testPadang() throws FactoryException {
2229        important         = true;
2230        code              = 6280;
2231        name              = "Padang 1884";
2232        crsName           = "Padang";
2233        ellipsoidName     = "Bessel 1841";
2234        primeMeridianName = "Greenwich";
2235        verifyDatum();
2236        createAndVerifyGeographicCRS(4280, GEOGRAPHIC_2D);
2237    }
2238
2239    /**
2240     * Tests “Padang 1884 (Jakarta)” geodetic datum creation from the factory.
2241     *
2242     * <ul>
2243     *   <li>EPSG datum code: <b>6808</b></li>
2244     *   <li>EPSG datum name: <b>Padang 1884 (Jakarta)</b></li>
2245     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
2246     *   <li>Prime meridian name: <b>Jakarta</b></li>
2247     *   <li>CRS using the datum: <b>Padang (Jakarta)</b></li>
2248     *   <li>Particularly important to E&amp;P industry.</li>
2249     * </ul>
2250     *
2251     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2252     */
2253    @Test
2254    public void testPadang_Jakarta() throws FactoryException {
2255        important         = true;
2256        code              = 6808;
2257        name              = "Padang 1884 (Jakarta)";
2258        crsName           = "Padang (Jakarta)";
2259        ellipsoidName     = "Bessel 1841";
2260        primeMeridianName = "Jakarta";
2261        verifyDatum();
2262        createAndVerifyGeographicCRS(4808, GEOGRAPHIC_2D);
2263    }
2264
2265    /**
2266     * Tests “PDO Survey Datum 1993” geodetic datum creation from the factory.
2267     *
2268     * <ul>
2269     *   <li>EPSG datum code: <b>6134</b></li>
2270     *   <li>EPSG datum name: <b>PDO Survey Datum 1993</b></li>
2271     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
2272     *   <li>Prime meridian name: <b>Greenwich</b></li>
2273     *   <li>CRS using the datum: <b>PSD93</b></li>
2274     *   <li>Particularly important to E&amp;P industry.</li>
2275     * </ul>
2276     *
2277     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2278     */
2279    @Test
2280    public void testPSD93() throws FactoryException {
2281        important         = true;
2282        code              = 6134;
2283        name              = "PDO Survey Datum 1993";
2284        crsName           = "PSD93";
2285        ellipsoidName     = "Clarke 1880 (RGS)";
2286        primeMeridianName = "Greenwich";
2287        verifyDatum();
2288        createAndVerifyGeographicCRS(4134, GEOGRAPHIC_2D);
2289    }
2290
2291    /**
2292     * Tests “Congo 1960 Pointe Noire” geodetic datum creation from the factory.
2293     *
2294     * <ul>
2295     *   <li>EPSG datum code: <b>6282</b></li>
2296     *   <li>EPSG datum name: <b>Congo 1960 Pointe Noire</b></li>
2297     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
2298     *   <li>Prime meridian name: <b>Greenwich</b></li>
2299     *   <li>CRS using the datum: <b>Pointe Noire</b></li>
2300     *   <li>Particularly important to E&amp;P industry.</li>
2301     * </ul>
2302     *
2303     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2304     */
2305    @Test
2306    public void testPointeNoire() throws FactoryException {
2307        important         = true;
2308        code              = 6282;
2309        name              = "Congo 1960 Pointe Noire";
2310        crsName           = "Pointe Noire";
2311        ellipsoidName     = "Clarke 1880 (IGN)";
2312        primeMeridianName = "Greenwich";
2313        verifyDatum();
2314        createAndVerifyGeographicCRS(4282, GEOGRAPHIC_2D);
2315    }
2316
2317    /**
2318     * Tests “Posiciones Geodesicas Argentinas 1994” geodetic datum creation from the factory.
2319     *
2320     * <ul>
2321     *   <li>EPSG datum code: <b>6694</b></li>
2322     *   <li>EPSG datum name: <b>Posiciones Geodesicas Argentinas 1994</b></li>
2323     *   <li>Ellipsoid name: <b>WGS 84</b></li>
2324     *   <li>Prime meridian name: <b>Greenwich</b></li>
2325     *   <li>CRS using the datum: <b>POSGAR 94</b></li>
2326     *   <li>Particularly important to E&amp;P industry.</li>
2327     * </ul>
2328     *
2329     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2330     */
2331    @Test
2332    public void testPOSGAR94() throws FactoryException {
2333        important         = true;
2334        code              = 6694;
2335        name              = "Posiciones Geodesicas Argentinas 1994";
2336        crsName           = "POSGAR 94";
2337        ellipsoidName     = "WGS 84";
2338        primeMeridianName = "Greenwich";
2339        verifyDatum();
2340        createAndVerifyGeocentricCRS(4928);
2341        createAndVerifyGeographicCRS(4929, GEOGRAPHIC_3D);
2342        createAndVerifyGeographicCRS(4694, GEOGRAPHIC_2D);
2343    }
2344
2345    /**
2346     * Tests “Posiciones Geodesicas Argentinas 1998” geodetic datum creation from the factory.
2347     *
2348     * <ul>
2349     *   <li>EPSG datum code: <b>6190</b></li>
2350     *   <li>EPSG datum name: <b>Posiciones Geodesicas Argentinas 1998</b></li>
2351     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
2352     *   <li>Prime meridian name: <b>Greenwich</b></li>
2353     *   <li>CRS using the datum: <b>POSGAR 98</b></li>
2354     *   <li>Particularly important to E&amp;P industry.</li>
2355     * </ul>
2356     *
2357     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2358     */
2359    @Test
2360    public void testPOSGAR98() throws FactoryException {
2361        important         = true;
2362        code              = 6190;
2363        name              = "Posiciones Geodesicas Argentinas 1998";
2364        crsName           = "POSGAR 98";
2365        ellipsoidName     = "GRS 1980";
2366        primeMeridianName = "Greenwich";
2367        verifyDatum();
2368        createAndVerifyGeocentricCRS(4960);
2369        createAndVerifyGeographicCRS(4961, GEOGRAPHIC_3D);
2370        createAndVerifyGeographicCRS(4190, GEOGRAPHIC_2D);
2371    }
2372
2373    /**
2374     * Tests “Philippine Reference System 1992” geodetic datum creation from the factory.
2375     *
2376     * <ul>
2377     *   <li>EPSG datum code: <b>6683</b></li>
2378     *   <li>EPSG datum name: <b>Philippine Reference System 1992</b></li>
2379     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
2380     *   <li>Prime meridian name: <b>Greenwich</b></li>
2381     *   <li>CRS using the datum: <b>PRS92</b></li>
2382     *   <li>Particularly important to E&amp;P industry.</li>
2383     * </ul>
2384     *
2385     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2386     */
2387    @Test
2388    public void testPRS92() throws FactoryException {
2389        important         = true;
2390        code              = 6683;
2391        name              = "Philippine Reference System 1992";
2392        crsName           = "PRS92";
2393        ellipsoidName     = "Clarke 1866";
2394        primeMeridianName = "Greenwich";
2395        verifyDatum();
2396        createAndVerifyGeocentricCRS(4994);
2397        createAndVerifyGeographicCRS(4995, GEOGRAPHIC_3D);
2398        createAndVerifyGeographicCRS(4683, GEOGRAPHIC_2D);
2399    }
2400
2401    /**
2402     * Tests “Provisional South American Datum 1956” geodetic datum creation from the factory.
2403     *
2404     * <ul>
2405     *   <li>EPSG datum code: <b>6248</b></li>
2406     *   <li>EPSG datum name: <b>Provisional South American Datum 1956</b></li>
2407     *   <li>Ellipsoid name: <b>International 1924</b></li>
2408     *   <li>Prime meridian name: <b>Greenwich</b></li>
2409     *   <li>CRS using the datum: <b>PSAD56</b></li>
2410     *   <li>Particularly important to E&amp;P industry.</li>
2411     * </ul>
2412     *
2413     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2414     */
2415    @Test
2416    public void testPSAD56() throws FactoryException {
2417        important         = true;
2418        code              = 6248;
2419        name              = "Provisional South American Datum 1956";
2420        crsName           = "PSAD56";
2421        ellipsoidName     = "International 1924";
2422        primeMeridianName = "Greenwich";
2423        verifyDatum();
2424        createAndVerifyGeographicCRS(4248, GEOGRAPHIC_2D);
2425    }
2426
2427    /**
2428     * Tests “Pulkovo 1942” geodetic datum creation from the factory.
2429     *
2430     * <ul>
2431     *   <li>EPSG datum code: <b>6284</b></li>
2432     *   <li>EPSG datum name: <b>Pulkovo 1942</b></li>
2433     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
2434     *   <li>Prime meridian name: <b>Greenwich</b></li>
2435     *   <li>CRS using the datum: <b>Pulkovo 1942</b></li>
2436     *   <li>Particularly important to E&amp;P industry.</li>
2437     * </ul>
2438     *
2439     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2440     */
2441    @Test
2442    public void testPulkovo1942() throws FactoryException {
2443        important         = true;
2444        code              = 6284;
2445        name              = "Pulkovo 1942";
2446        crsName           = "Pulkovo 1942";
2447        ellipsoidName     = "Krassowsky 1940";
2448        primeMeridianName = "Greenwich";
2449        verifyDatum();
2450        createAndVerifyGeographicCRS(4284, GEOGRAPHIC_2D);
2451    }
2452
2453    /**
2454     * Tests “Pulkovo 1942(58)” geodetic datum creation from the factory.
2455     *
2456     * <ul>
2457     *   <li>EPSG datum code: <b>6179</b></li>
2458     *   <li>EPSG datum name: <b>Pulkovo 1942(58)</b></li>
2459     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
2460     *   <li>Prime meridian name: <b>Greenwich</b></li>
2461     *   <li>CRS using the datum: <b>Pulkovo 1942(58)</b></li>
2462     *   <li>Particularly important to E&amp;P industry.</li>
2463     * </ul>
2464     *
2465     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2466     */
2467    @Test
2468    public void testPulkovo1942_58() throws FactoryException {
2469        important         = true;
2470        code              = 6179;
2471        name              = "Pulkovo 1942(58)";
2472        crsName           = "Pulkovo 1942(58)";
2473        ellipsoidName     = "Krassowsky 1940";
2474        primeMeridianName = "Greenwich";
2475        verifyDatum();
2476        createAndVerifyGeographicCRS(4179, GEOGRAPHIC_2D);
2477    }
2478
2479    /**
2480     * Tests “Pulkovo 1942(83)” geodetic datum creation from the factory.
2481     *
2482     * <ul>
2483     *   <li>EPSG datum code: <b>6178</b></li>
2484     *   <li>EPSG datum name: <b>Pulkovo 1942(83)</b></li>
2485     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
2486     *   <li>Prime meridian name: <b>Greenwich</b></li>
2487     *   <li>CRS using the datum: <b>Pulkovo 1942(83)</b></li>
2488     *   <li>Particularly important to E&amp;P industry.</li>
2489     * </ul>
2490     *
2491     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2492     */
2493    @Test
2494    public void testPulkovo1942_83() throws FactoryException {
2495        important         = true;
2496        code              = 6178;
2497        name              = "Pulkovo 1942(83)";
2498        crsName           = "Pulkovo 1942(83)";
2499        ellipsoidName     = "Krassowsky 1940";
2500        primeMeridianName = "Greenwich";
2501        verifyDatum();
2502        createAndVerifyGeographicCRS(4178, GEOGRAPHIC_2D);
2503    }
2504
2505    /**
2506     * Tests “Qatar 1948” geodetic datum creation from the factory.
2507     *
2508     * <ul>
2509     *   <li>EPSG datum code: <b>6286</b></li>
2510     *   <li>EPSG datum name: <b>Qatar 1948</b></li>
2511     *   <li>Ellipsoid name: <b>Helmert 1906</b></li>
2512     *   <li>Prime meridian name: <b>Greenwich</b></li>
2513     *   <li>CRS using the datum: <b>Qatar 1948</b></li>
2514     *   <li>Particularly important to E&amp;P industry.</li>
2515     * </ul>
2516     *
2517     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2518     */
2519    @Test
2520    public void testQatar1948() throws FactoryException {
2521        important         = true;
2522        code              = 6286;
2523        name              = "Qatar 1948";
2524        crsName           = "Qatar 1948";
2525        ellipsoidName     = "Helmert 1906";
2526        primeMeridianName = "Greenwich";
2527        verifyDatum();
2528        createAndVerifyGeographicCRS(4286, GEOGRAPHIC_2D);
2529    }
2530
2531    /**
2532     * Tests “Qatar 1974” geodetic datum creation from the factory.
2533     *
2534     * <ul>
2535     *   <li>EPSG datum code: <b>6285</b></li>
2536     *   <li>EPSG datum name: <b>Qatar 1974</b></li>
2537     *   <li>Ellipsoid name: <b>International 1924</b></li>
2538     *   <li>Prime meridian name: <b>Greenwich</b></li>
2539     *   <li>CRS using the datum: <b>Qatar 1974</b></li>
2540     *   <li>Particularly important to E&amp;P industry.</li>
2541     * </ul>
2542     *
2543     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2544     */
2545    @Test
2546    public void testQatar1974() throws FactoryException {
2547        important         = true;
2548        code              = 6285;
2549        name              = "Qatar 1974";
2550        crsName           = "Qatar 1974";
2551        ellipsoidName     = "International 1924";
2552        primeMeridianName = "Greenwich";
2553        verifyDatum();
2554        createAndVerifyGeographicCRS(4285, GEOGRAPHIC_2D);
2555    }
2556
2557    /**
2558     * Tests “Qatar National Datum 1995” geodetic datum creation from the factory.
2559     *
2560     * <ul>
2561     *   <li>EPSG datum code: <b>6614</b></li>
2562     *   <li>EPSG datum name: <b>Qatar National Datum 1995</b></li>
2563     *   <li>Ellipsoid name: <b>International 1924</b></li>
2564     *   <li>Prime meridian name: <b>Greenwich</b></li>
2565     *   <li>CRS using the datum: <b>QND95</b></li>
2566     *   <li>Particularly important to E&amp;P industry.</li>
2567     * </ul>
2568     *
2569     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2570     */
2571    @Test
2572    public void testQatar1995() throws FactoryException {
2573        important         = true;
2574        code              = 6614;
2575        name              = "Qatar National Datum 1995";
2576        crsName           = "QND95";
2577        ellipsoidName     = "International 1924";
2578        primeMeridianName = "Greenwich";
2579        verifyDatum();
2580        createAndVerifyGeographicCRS(4614, GEOGRAPHIC_2D);
2581    }
2582
2583    /**
2584     * Tests “Red Geodesica Venezolana” geodetic datum creation from the factory.
2585     *
2586     * <ul>
2587     *   <li>EPSG datum code: <b>6189</b></li>
2588     *   <li>EPSG datum name: <b>Red Geodesica Venezolana</b></li>
2589     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
2590     *   <li>Prime meridian name: <b>Greenwich</b></li>
2591     *   <li>CRS using the datum: <b>REGVEN</b></li>
2592     *   <li>Particularly important to E&amp;P industry.</li>
2593     * </ul>
2594     *
2595     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2596     */
2597    @Test
2598    public void testREGVEN() throws FactoryException {
2599        important         = true;
2600        code              = 6189;
2601        name              = "Red Geodesica Venezolana";
2602        crsName           = "REGVEN";
2603        ellipsoidName     = "GRS 1980";
2604        primeMeridianName = "Greenwich";
2605        verifyDatum();
2606        createAndVerifyGeocentricCRS(4962);
2607        createAndVerifyGeographicCRS(4963, GEOGRAPHIC_3D);
2608        createAndVerifyGeographicCRS(4189, GEOGRAPHIC_2D);
2609    }
2610
2611    /**
2612     * Tests “Reseau Geodesique Francais 1993” geodetic datum creation from the factory.
2613     *
2614     * <ul>
2615     *   <li>EPSG datum code: <b>6171</b></li>
2616     *   <li>EPSG datum name: <b>Reseau Geodesique Francais 1993</b></li>
2617     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
2618     *   <li>Prime meridian name: <b>Greenwich</b></li>
2619     *   <li>CRS using the datum: <b>RGF93</b></li>
2620     *   <li>Particularly important to E&amp;P industry.</li>
2621     * </ul>
2622     *
2623     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2624     */
2625    @Test
2626    public void testRGF93() throws FactoryException {
2627        important         = true;
2628        code              = 6171;
2629        name              = "Reseau Geodesique Francais 1993";
2630        crsName           = "RGF93";
2631        ellipsoidName     = "GRS 1980";
2632        primeMeridianName = "Greenwich";
2633        verifyDatum();
2634        createAndVerifyGeocentricCRS(4964);
2635        createAndVerifyGeographicCRS(4965, GEOGRAPHIC_3D);
2636        createAndVerifyGeographicCRS(4171, GEOGRAPHIC_2D);
2637    }
2638
2639    /**
2640     * Tests “South American Datum 1969” geodetic datum creation from the factory.
2641     *
2642     * <ul>
2643     *   <li>EPSG datum code: <b>6618</b></li>
2644     *   <li>EPSG datum name: <b>South American Datum 1969</b></li>
2645     *   <li>Ellipsoid name: <b>GRS 1967 Modified</b></li>
2646     *   <li>Prime meridian name: <b>Greenwich</b></li>
2647     *   <li>CRS using the datum: <b>SAD69</b></li>
2648     *   <li>Particularly important to E&amp;P industry.</li>
2649     * </ul>
2650     *
2651     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2652     */
2653    @Test
2654    public void testSAD69() throws FactoryException {
2655        important         = true;
2656        code              = 6618;
2657        name              = "South American Datum 1969";
2658        crsName           = "SAD69";
2659        ellipsoidName     = "GRS 1967 Modified";
2660        primeMeridianName = "Greenwich";
2661        verifyDatum();
2662        createAndVerifyGeographicCRS(4618, GEOGRAPHIC_2D);
2663    }
2664
2665    /**
2666     * Tests “Schwarzeck” geodetic datum creation from the factory.
2667     *
2668     * <ul>
2669     *   <li>EPSG datum code: <b>6293</b></li>
2670     *   <li>EPSG datum name: <b>Schwarzeck</b></li>
2671     *   <li>Ellipsoid name: <b>Bessel Namibia (GLM)</b></li>
2672     *   <li>Prime meridian name: <b>Greenwich</b></li>
2673     *   <li>CRS using the datum: <b>Schwarzeck</b></li>
2674     *   <li>Particularly important to E&amp;P industry.</li>
2675     * </ul>
2676     *
2677     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2678     */
2679    @Test
2680    public void testSchwarzeck() throws FactoryException {
2681        important         = true;
2682        code              = 6293;
2683        name              = "Schwarzeck";
2684        crsName           = "Schwarzeck";
2685        ellipsoidName     = "Bessel Namibia (GLM)";
2686        primeMeridianName = "Greenwich";
2687        verifyDatum();
2688        createAndVerifyGeographicCRS(4293, GEOGRAPHIC_2D);
2689    }
2690
2691    /**
2692     * Tests “Sistema de Referencia Geocentrico para America del Sur 1995” geodetic datum creation from the factory.
2693     *
2694     * <ul>
2695     *   <li>EPSG datum code: <b>6170</b></li>
2696     *   <li>EPSG datum name: <b>Sistema de Referencia Geocentrico para America del Sur 1995</b></li>
2697     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
2698     *   <li>Prime meridian name: <b>Greenwich</b></li>
2699     *   <li>CRS using the datum: <b>SIRGAS 1995</b></li>
2700     *   <li>Particularly important to E&amp;P industry.</li>
2701     * </ul>
2702     *
2703     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2704     */
2705    @Test
2706    public void testSIRGAS1995() throws FactoryException {
2707        important         = true;
2708        code              = 6170;
2709        name              = "Sistema de Referencia Geocentrico para America del Sur 1995";
2710        crsName           = "SIRGAS 1995";
2711        ellipsoidName     = "GRS 1980";
2712        primeMeridianName = "Greenwich";
2713        verifyDatum();
2714        createAndVerifyGeocentricCRS(4974);
2715        createAndVerifyGeographicCRS(4975, GEOGRAPHIC_3D);
2716        createAndVerifyGeographicCRS(4170, GEOGRAPHIC_2D);
2717    }
2718
2719    /**
2720     * Tests “Sistema de Referencia Geocentrico para las AmericaS 2000” geodetic datum creation from the factory.
2721     *
2722     * <ul>
2723     *   <li>EPSG datum code: <b>6674</b></li>
2724     *   <li>EPSG datum name: <b>Sistema de Referencia Geocentrico para las AmericaS 2000</b></li>
2725     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
2726     *   <li>Prime meridian name: <b>Greenwich</b></li>
2727     *   <li>CRS using the datum: <b>SIRGAS 2000</b></li>
2728     *   <li>Particularly important to E&amp;P industry.</li>
2729     * </ul>
2730     *
2731     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2732     */
2733    @Test
2734    public void testSIRGAS2000() throws FactoryException {
2735        important         = true;
2736        code              = 6674;
2737        name              = "Sistema de Referencia Geocentrico para las AmericaS 2000";
2738        crsName           = "SIRGAS 2000";
2739        ellipsoidName     = "GRS 1980";
2740        primeMeridianName = "Greenwich";
2741        verifyDatum();
2742        createAndVerifyGeocentricCRS(4988);
2743        createAndVerifyGeographicCRS(4989, GEOGRAPHIC_3D);
2744        createAndVerifyGeographicCRS(4674, GEOGRAPHIC_2D);
2745    }
2746
2747    /**
2748     * Tests “Tananarive 1925” geodetic datum creation from the factory.
2749     *
2750     * <ul>
2751     *   <li>EPSG datum code: <b>6297</b></li>
2752     *   <li>EPSG datum name: <b>Tananarive 1925</b></li>
2753     *   <li>Ellipsoid name: <b>International 1924</b></li>
2754     *   <li>Prime meridian name: <b>Greenwich</b></li>
2755     *   <li>CRS using the datum: <b>Tananarive</b></li>
2756     *   <li>Particularly important to E&amp;P industry.</li>
2757     * </ul>
2758     *
2759     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2760     */
2761    @Test
2762    public void testTananarive() throws FactoryException {
2763        important         = true;
2764        code              = 6297;
2765        name              = "Tananarive 1925";
2766        crsName           = "Tananarive";
2767        ellipsoidName     = "International 1924";
2768        primeMeridianName = "Greenwich";
2769        verifyDatum();
2770        createAndVerifyGeographicCRS(4297, GEOGRAPHIC_2D);
2771    }
2772
2773    /**
2774     * Tests “Tananarive 1925 (Paris)” geodetic datum creation from the factory.
2775     *
2776     * <ul>
2777     *   <li>EPSG datum code: <b>6810</b></li>
2778     *   <li>EPSG datum name: <b>Tananarive 1925 (Paris)</b></li>
2779     *   <li>Ellipsoid name: <b>International 1924</b></li>
2780     *   <li>Prime meridian name: <b>Paris</b></li>
2781     *   <li>CRS using the datum: <b>Tananarive (Paris)</b></li>
2782     *   <li>Particularly important to E&amp;P industry.</li>
2783     * </ul>
2784     *
2785     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2786     */
2787    @Test
2788    public void testTananarive_Paris() throws FactoryException {
2789        important         = true;
2790        code              = 6810;
2791        name              = "Tananarive 1925 (Paris)";
2792        crsName           = "Tananarive (Paris)";
2793        ellipsoidName     = "International 1924";
2794        primeMeridianName = "Paris";
2795        verifyDatum();
2796        createAndVerifyGeographicCRS(4810, GEOGRAPHIC_2D);
2797    }
2798
2799    /**
2800     * Tests “Trucial Coast 1948” geodetic datum creation from the factory.
2801     *
2802     * <ul>
2803     *   <li>EPSG datum code: <b>6303</b></li>
2804     *   <li>EPSG datum name: <b>Trucial Coast 1948</b></li>
2805     *   <li>Ellipsoid name: <b>Helmert 1906</b></li>
2806     *   <li>Prime meridian name: <b>Greenwich</b></li>
2807     *   <li>CRS using the datum: <b>TC(1948)</b></li>
2808     *   <li>Particularly important to E&amp;P industry.</li>
2809     * </ul>
2810     *
2811     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2812     */
2813    @Test
2814    public void testTrucialCoast() throws FactoryException {
2815        important         = true;
2816        code              = 6303;
2817        name              = "Trucial Coast 1948";
2818        crsName           = "TC(1948)";
2819        ellipsoidName     = "Helmert 1906";
2820        primeMeridianName = "Greenwich";
2821        verifyDatum();
2822        createAndVerifyGeographicCRS(4303, GEOGRAPHIC_2D);
2823    }
2824
2825    /**
2826     * Tests “Timbalai 1948” geodetic datum creation from the factory.
2827     *
2828     * <ul>
2829     *   <li>EPSG datum code: <b>6298</b></li>
2830     *   <li>EPSG datum name: <b>Timbalai 1948</b></li>
2831     *   <li>Ellipsoid name: <b>Everest 1830 (1967 Definition)</b></li>
2832     *   <li>Prime meridian name: <b>Greenwich</b></li>
2833     *   <li>CRS using the datum: <b>Timbalai 1948</b></li>
2834     *   <li>Particularly important to E&amp;P industry.</li>
2835     * </ul>
2836     *
2837     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2838     */
2839    @Test
2840    public void testTimbalai() throws FactoryException {
2841        important         = true;
2842        code              = 6298;
2843        name              = "Timbalai 1948";
2844        crsName           = "Timbalai 1948";
2845        ellipsoidName     = "Everest 1830 (1967 Definition)";
2846        primeMeridianName = "Greenwich";
2847        verifyDatum();
2848        createAndVerifyGeographicCRS(4298, GEOGRAPHIC_2D);
2849    }
2850
2851    /**
2852     * Tests “Trinidad 1903” geodetic datum creation from the factory.
2853     *
2854     * <ul>
2855     *   <li>EPSG datum code: <b>6302</b></li>
2856     *   <li>EPSG datum name: <b>Trinidad 1903</b></li>
2857     *   <li>Ellipsoid name: <b>Clarke 1858</b></li>
2858     *   <li>Prime meridian name: <b>Greenwich</b></li>
2859     *   <li>CRS using the datum: <b>Trinidad 1903</b></li>
2860     *   <li>Particularly important to E&amp;P industry.</li>
2861     * </ul>
2862     *
2863     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2864     */
2865    @Test
2866    public void testTrinidad() throws FactoryException {
2867        important         = true;
2868        code              = 6302;
2869        name              = "Trinidad 1903";
2870        crsName           = "Trinidad 1903";
2871        ellipsoidName     = "Clarke 1858";
2872        primeMeridianName = "Greenwich";
2873        verifyDatum();
2874        createAndVerifyGeographicCRS(4302, GEOGRAPHIC_2D);
2875    }
2876
2877    /**
2878     * Tests “Voirol 1875” geodetic datum creation from the factory.
2879     *
2880     * <ul>
2881     *   <li>EPSG datum code: <b>6304</b></li>
2882     *   <li>EPSG datum name: <b>Voirol 1875</b></li>
2883     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
2884     *   <li>Prime meridian name: <b>Greenwich</b></li>
2885     *   <li>CRS using the datum: <b>Voirol 1875</b></li>
2886     *   <li>Particularly important to E&amp;P industry.</li>
2887     * </ul>
2888     *
2889     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2890     */
2891    @Test
2892    public void testVoirol1875() throws FactoryException {
2893        important         = true;
2894        code              = 6304;
2895        name              = "Voirol 1875";
2896        crsName           = "Voirol 1875";
2897        ellipsoidName     = "Clarke 1880 (IGN)";
2898        primeMeridianName = "Greenwich";
2899        verifyDatum();
2900        createAndVerifyGeographicCRS(4304, GEOGRAPHIC_2D);
2901    }
2902
2903    /**
2904     * Tests “Voirol 1875 (Paris)” geodetic datum creation from the factory.
2905     *
2906     * <ul>
2907     *   <li>EPSG datum code: <b>6811</b></li>
2908     *   <li>EPSG datum name: <b>Voirol 1875 (Paris)</b></li>
2909     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
2910     *   <li>Prime meridian name: <b>Paris</b></li>
2911     *   <li>CRS using the datum: <b>Voirol 1875 (Paris)</b></li>
2912     *   <li>Particularly important to E&amp;P industry.</li>
2913     * </ul>
2914     *
2915     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2916     */
2917    @Test
2918    public void testVoirol1875_Paris() throws FactoryException {
2919        important         = true;
2920        code              = 6811;
2921        name              = "Voirol 1875 (Paris)";
2922        crsName           = "Voirol 1875 (Paris)";
2923        ellipsoidName     = "Clarke 1880 (IGN)";
2924        primeMeridianName = "Paris";
2925        verifyDatum();
2926        createAndVerifyGeographicCRS(4811, GEOGRAPHIC_2D);
2927    }
2928
2929    /**
2930     * Tests “World Geodetic System 1972” geodetic datum creation from the factory.
2931     *
2932     * <ul>
2933     *   <li>EPSG datum code: <b>6322</b></li>
2934     *   <li>EPSG datum name: <b>World Geodetic System 1972</b></li>
2935     *   <li>Ellipsoid name: <b>WGS 72</b></li>
2936     *   <li>Prime meridian name: <b>Greenwich</b></li>
2937     *   <li>CRS using the datum: <b>WGS 72</b></li>
2938     *   <li>Particularly important to E&amp;P industry.</li>
2939     * </ul>
2940     *
2941     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2942     */
2943    @Test
2944    public void testWGS72() throws FactoryException {
2945        important         = true;
2946        code              = 6322;
2947        name              = "World Geodetic System 1972";
2948        crsName           = "WGS 72";
2949        ellipsoidName     = "WGS 72";
2950        primeMeridianName = "Greenwich";
2951        verifyDatum();
2952        createAndVerifyGeocentricCRS(4984);
2953        createAndVerifyGeographicCRS(4985, GEOGRAPHIC_3D);
2954        createAndVerifyGeographicCRS(4322, GEOGRAPHIC_2D);
2955    }
2956
2957    /**
2958     * Tests “WGS 72 Transit Broadcast Ephemeris” geodetic datum creation from the factory.
2959     *
2960     * <ul>
2961     *   <li>EPSG datum code: <b>6324</b></li>
2962     *   <li>EPSG datum name: <b>WGS 72 Transit Broadcast Ephemeris</b></li>
2963     *   <li>Ellipsoid name: <b>WGS 72</b></li>
2964     *   <li>Prime meridian name: <b>Greenwich</b></li>
2965     *   <li>CRS using the datum: <b>WGS 72BE</b></li>
2966     *   <li>Particularly important to E&amp;P industry.</li>
2967     * </ul>
2968     *
2969     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2970     */
2971    @Test
2972    public void testWGS72BE() throws FactoryException {
2973        important         = true;
2974        code              = 6324;
2975        name              = "WGS 72 Transit Broadcast Ephemeris";
2976        crsName           = "WGS 72BE";
2977        ellipsoidName     = "WGS 72";
2978        primeMeridianName = "Greenwich";
2979        verifyDatum();
2980        createAndVerifyGeocentricCRS(4986);
2981        createAndVerifyGeographicCRS(4987, GEOGRAPHIC_3D);
2982        createAndVerifyGeographicCRS(4324, GEOGRAPHIC_2D);
2983    }
2984
2985    /**
2986     * Tests “World Geodetic System 1984” geodetic datum creation from the factory.
2987     *
2988     * <ul>
2989     *   <li>EPSG datum code: <b>6326</b></li>
2990     *   <li>EPSG datum name: <b>World Geodetic System 1984</b></li>
2991     *   <li>Ellipsoid name: <b>WGS 84</b></li>
2992     *   <li>Prime meridian name: <b>Greenwich</b></li>
2993     *   <li>CRS using the datum: <b>WGS 84</b></li>
2994     *   <li>Particularly important to E&amp;P industry.</li>
2995     * </ul>
2996     *
2997     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
2998     */
2999    @Test
3000    public void testWGS84() throws FactoryException {
3001        important         = true;
3002        code              = 6326;
3003        name              = "World Geodetic System 1984";
3004        crsName           = "WGS 84";
3005        ellipsoidName     = "WGS 84";
3006        primeMeridianName = "Greenwich";
3007        verifyDatum();
3008        createAndVerifyGeocentricCRS(4978);
3009        createAndVerifyGeographicCRS(4979, GEOGRAPHIC_3D);
3010        createAndVerifyGeographicCRS(4326, GEOGRAPHIC_2D);
3011    }
3012
3013    /**
3014     * Tests “Xian 1980” geodetic datum creation from the factory.
3015     *
3016     * <ul>
3017     *   <li>EPSG datum code: <b>6610</b></li>
3018     *   <li>EPSG datum name: <b>Xian 1980</b></li>
3019     *   <li>Ellipsoid name: <b>IAG 1975</b></li>
3020     *   <li>Prime meridian name: <b>Greenwich</b></li>
3021     *   <li>CRS using the datum: <b>Xian 1980</b></li>
3022     *   <li>Particularly important to E&amp;P industry.</li>
3023     * </ul>
3024     *
3025     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3026     */
3027    @Test
3028    public void testXian() throws FactoryException {
3029        important         = true;
3030        code              = 6610;
3031        name              = "Xian 1980";
3032        crsName           = "Xian 1980";
3033        ellipsoidName     = "IAG 1975";
3034        primeMeridianName = "Greenwich";
3035        verifyDatum();
3036        createAndVerifyGeographicCRS(4610, GEOGRAPHIC_2D);
3037    }
3038
3039    /**
3040     * Tests “Yemen National Geodetic Network 1996” geodetic datum creation from the factory.
3041     *
3042     * <ul>
3043     *   <li>EPSG datum code: <b>6163</b></li>
3044     *   <li>EPSG datum name: <b>Yemen National Geodetic Network 1996</b></li>
3045     *   <li>Ellipsoid name: <b>WGS 84</b></li>
3046     *   <li>Prime meridian name: <b>Greenwich</b></li>
3047     *   <li>CRS using the datum: <b>Yemen NGN96</b></li>
3048     *   <li>Particularly important to E&amp;P industry.</li>
3049     * </ul>
3050     *
3051     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3052     */
3053    @Test
3054    public void testYemen() throws FactoryException {
3055        important         = true;
3056        code              = 6163;
3057        name              = "Yemen National Geodetic Network 1996";
3058        crsName           = "Yemen NGN96";
3059        ellipsoidName     = "WGS 84";
3060        primeMeridianName = "Greenwich";
3061        verifyDatum();
3062        createAndVerifyGeocentricCRS(4980);
3063        createAndVerifyGeographicCRS(4163, GEOGRAPHIC_2D);
3064    }
3065
3066    /**
3067     * Tests “Adindan” geodetic datum creation from the factory.
3068     *
3069     * <ul>
3070     *   <li>EPSG datum code: <b>6201</b></li>
3071     *   <li>EPSG datum name: <b>Adindan</b></li>
3072     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
3073     *   <li>Prime meridian name: <b>Greenwich</b></li>
3074     *   <li>CRS using the datum: <b>Adindan</b></li>
3075     * </ul>
3076     *
3077     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3078     */
3079    @Test
3080    public void testAdindan() throws FactoryException {
3081        code              = 6201;
3082        name              = "Adindan";
3083        crsName           = "Adindan";
3084        ellipsoidName     = "Clarke 1880 (RGS)";
3085        primeMeridianName = "Greenwich";
3086        verifyDatum();
3087        createAndVerifyGeographicCRS(4201, GEOGRAPHIC_2D);
3088    }
3089
3090    /**
3091     * Tests “Afgooye” geodetic datum creation from the factory.
3092     *
3093     * <ul>
3094     *   <li>EPSG datum code: <b>6205</b></li>
3095     *   <li>EPSG datum name: <b>Afgooye</b></li>
3096     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
3097     *   <li>Prime meridian name: <b>Greenwich</b></li>
3098     *   <li>CRS using the datum: <b>Afgooye</b></li>
3099     * </ul>
3100     *
3101     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3102     */
3103    @Test
3104    public void testAfgooye() throws FactoryException {
3105        code              = 6205;
3106        name              = "Afgooye";
3107        crsName           = "Afgooye";
3108        ellipsoidName     = "Krassowsky 1940";
3109        primeMeridianName = "Greenwich";
3110        verifyDatum();
3111        createAndVerifyGeographicCRS(4205, GEOGRAPHIC_2D);
3112    }
3113
3114    /**
3115     * Tests “Agadez” geodetic datum creation from the factory.
3116     *
3117     * <ul>
3118     *   <li>EPSG datum code: <b>6206</b></li>
3119     *   <li>EPSG datum name: <b>Agadez</b></li>
3120     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
3121     *   <li>Prime meridian name: <b>Greenwich</b></li>
3122     *   <li>CRS using the datum: <b>Agadez</b></li>
3123     * </ul>
3124     *
3125     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3126     */
3127    @Test
3128    public void testAgadez() throws FactoryException {
3129        code              = 6206;
3130        name              = "Agadez";
3131        crsName           = "Agadez";
3132        ellipsoidName     = "Clarke 1880 (IGN)";
3133        primeMeridianName = "Greenwich";
3134        verifyDatum();
3135        createAndVerifyGeographicCRS(4206, GEOGRAPHIC_2D);
3136    }
3137
3138    /**
3139     * Tests “Albanian 1987” geodetic datum creation from the factory.
3140     *
3141     * <ul>
3142     *   <li>EPSG datum code: <b>6191</b></li>
3143     *   <li>EPSG datum name: <b>Albanian 1987</b></li>
3144     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
3145     *   <li>Prime meridian name: <b>Greenwich</b></li>
3146     *   <li>CRS using the datum: <b>Albanian 1987</b></li>
3147     * </ul>
3148     *
3149     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3150     */
3151    @Test
3152    public void testAlbanian() throws FactoryException {
3153        code              = 6191;
3154        name              = "Albanian 1987";
3155        crsName           = "Albanian 1987";
3156        ellipsoidName     = "Krassowsky 1940";
3157        primeMeridianName = "Greenwich";
3158        verifyDatum();
3159        createAndVerifyGeographicCRS(4191, GEOGRAPHIC_2D);
3160    }
3161
3162    /**
3163     * Tests “American Samoa 1962” geodetic datum creation from the factory.
3164     *
3165     * <ul>
3166     *   <li>EPSG datum code: <b>6169</b></li>
3167     *   <li>EPSG datum name: <b>American Samoa 1962</b></li>
3168     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
3169     *   <li>Prime meridian name: <b>Greenwich</b></li>
3170     *   <li>CRS using the datum: <b>American Samoa 1962</b></li>
3171     * </ul>
3172     *
3173     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3174     */
3175    @Test
3176    public void testAmericanSamoa() throws FactoryException {
3177        code              = 6169;
3178        name              = "American Samoa 1962";
3179        crsName           = "American Samoa 1962";
3180        ellipsoidName     = "Clarke 1866";
3181        primeMeridianName = "Greenwich";
3182        verifyDatum();
3183        createAndVerifyGeographicCRS(4169, GEOGRAPHIC_2D);
3184    }
3185
3186    /**
3187     * Tests “Ammassalik 1958” geodetic datum creation from the factory.
3188     *
3189     * <ul>
3190     *   <li>EPSG datum code: <b>6196</b></li>
3191     *   <li>EPSG datum name: <b>Ammassalik 1958</b></li>
3192     *   <li>Ellipsoid name: <b>International 1924</b></li>
3193     *   <li>Prime meridian name: <b>Greenwich</b></li>
3194     *   <li>CRS using the datum: <b>Ammassalik 1958</b></li>
3195     * </ul>
3196     *
3197     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3198     */
3199    @Test
3200    public void testAmmassalik() throws FactoryException {
3201        code              = 6196;
3202        name              = "Ammassalik 1958";
3203        crsName           = "Ammassalik 1958";
3204        ellipsoidName     = "International 1924";
3205        primeMeridianName = "Greenwich";
3206        verifyDatum();
3207        createAndVerifyGeographicCRS(4196, GEOGRAPHIC_2D);
3208    }
3209
3210    /**
3211     * Tests “Anguilla 1957” geodetic datum creation from the factory.
3212     *
3213     * <ul>
3214     *   <li>EPSG datum code: <b>6600</b></li>
3215     *   <li>EPSG datum name: <b>Anguilla 1957</b></li>
3216     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
3217     *   <li>Prime meridian name: <b>Greenwich</b></li>
3218     *   <li>CRS using the datum: <b>Anguilla 1957</b></li>
3219     * </ul>
3220     *
3221     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3222     */
3223    @Test
3224    public void testAnguilla() throws FactoryException {
3225        code              = 6600;
3226        name              = "Anguilla 1957";
3227        crsName           = "Anguilla 1957";
3228        ellipsoidName     = "Clarke 1880 (RGS)";
3229        primeMeridianName = "Greenwich";
3230        verifyDatum();
3231        createAndVerifyGeographicCRS(4600, GEOGRAPHIC_2D);
3232    }
3233
3234    /**
3235     * Tests “Antigua 1943” geodetic datum creation from the factory.
3236     *
3237     * <ul>
3238     *   <li>EPSG datum code: <b>6601</b></li>
3239     *   <li>EPSG datum name: <b>Antigua 1943</b></li>
3240     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
3241     *   <li>Prime meridian name: <b>Greenwich</b></li>
3242     *   <li>CRS using the datum: <b>Antigua 1943</b></li>
3243     * </ul>
3244     *
3245     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3246     */
3247    @Test
3248    public void testAntigua() throws FactoryException {
3249        code              = 6601;
3250        name              = "Antigua 1943";
3251        crsName           = "Antigua 1943";
3252        ellipsoidName     = "Clarke 1880 (RGS)";
3253        primeMeridianName = "Greenwich";
3254        verifyDatum();
3255        createAndVerifyGeographicCRS(4601, GEOGRAPHIC_2D);
3256    }
3257
3258    /**
3259     * Tests “Arc 1950” geodetic datum creation from the factory.
3260     *
3261     * <ul>
3262     *   <li>EPSG datum code: <b>6209</b></li>
3263     *   <li>EPSG datum name: <b>Arc 1950</b></li>
3264     *   <li>Ellipsoid name: <b>Clarke 1880 (Arc)</b></li>
3265     *   <li>Prime meridian name: <b>Greenwich</b></li>
3266     *   <li>CRS using the datum: <b>Arc 1950</b></li>
3267     * </ul>
3268     *
3269     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3270     */
3271    @Test
3272    public void testArc1950() throws FactoryException {
3273        code              = 6209;
3274        name              = "Arc 1950";
3275        crsName           = "Arc 1950";
3276        ellipsoidName     = "Clarke 1880 (Arc)";
3277        primeMeridianName = "Greenwich";
3278        verifyDatum();
3279        createAndVerifyGeographicCRS(4209, GEOGRAPHIC_2D);
3280    }
3281
3282    /**
3283     * Tests “Arc 1960” geodetic datum creation from the factory.
3284     *
3285     * <ul>
3286     *   <li>EPSG datum code: <b>6210</b></li>
3287     *   <li>EPSG datum name: <b>Arc 1960</b></li>
3288     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
3289     *   <li>Prime meridian name: <b>Greenwich</b></li>
3290     *   <li>CRS using the datum: <b>Arc 1960</b></li>
3291     * </ul>
3292     *
3293     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3294     */
3295    @Test
3296    public void testArc1960() throws FactoryException {
3297        code              = 6210;
3298        name              = "Arc 1960";
3299        crsName           = "Arc 1960";
3300        ellipsoidName     = "Clarke 1880 (RGS)";
3301        primeMeridianName = "Greenwich";
3302        verifyDatum();
3303        createAndVerifyGeographicCRS(4210, GEOGRAPHIC_2D);
3304    }
3305
3306    /**
3307     * Tests “Ascension Island 1958” geodetic datum creation from the factory.
3308     *
3309     * <ul>
3310     *   <li>EPSG datum code: <b>6712</b></li>
3311     *   <li>EPSG datum name: <b>Ascension Island 1958</b></li>
3312     *   <li>Ellipsoid name: <b>International 1924</b></li>
3313     *   <li>Prime meridian name: <b>Greenwich</b></li>
3314     *   <li>CRS using the datum: <b>Ascension Island 1958</b></li>
3315     * </ul>
3316     *
3317     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3318     */
3319    @Test
3320    public void testAscensionIsland() throws FactoryException {
3321        code              = 6712;
3322        name              = "Ascension Island 1958";
3323        crsName           = "Ascension Island 1958";
3324        ellipsoidName     = "International 1924";
3325        primeMeridianName = "Greenwich";
3326        verifyDatum();
3327        createAndVerifyGeographicCRS(4712, GEOGRAPHIC_2D);
3328    }
3329
3330    /**
3331     * Tests “Ancienne Triangulation Francaise (Paris)” geodetic datum creation from the factory.
3332     *
3333     * <ul>
3334     *   <li>EPSG datum code: <b>6901</b></li>
3335     *   <li>EPSG datum name: <b>Ancienne Triangulation Francaise (Paris)</b></li>
3336     *   <li>Ellipsoid name: <b>Plessis 1817</b></li>
3337     *   <li>Prime meridian name: <b>Paris RGS</b></li>
3338     *   <li>CRS using the datum: <b>ATF (Paris)</b></li>
3339     * </ul>
3340     *
3341     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3342     */
3343    @Test
3344    public void testATF_Paris() throws FactoryException {
3345        code              = 6901;
3346        name              = "Ancienne Triangulation Francaise (Paris)";
3347        crsName           = "ATF (Paris)";
3348        ellipsoidName     = "Plessis 1817";
3349        primeMeridianName = "Paris RGS";
3350        verifyDatum();
3351        createAndVerifyGeographicCRS(4901, GEOGRAPHIC_2D);
3352    }
3353
3354    /**
3355     * Tests “Average Terrestrial System 1977” geodetic datum creation from the factory.
3356     *
3357     * <ul>
3358     *   <li>EPSG datum code: <b>6122</b></li>
3359     *   <li>EPSG datum name: <b>Average Terrestrial System 1977</b></li>
3360     *   <li>Ellipsoid name: <b>Average Terrestrial System 1977</b></li>
3361     *   <li>Prime meridian name: <b>Greenwich</b></li>
3362     *   <li>CRS using the datum: <b>ATS77</b></li>
3363     * </ul>
3364     *
3365     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3366     */
3367    @Test
3368    public void testATS77() throws FactoryException {
3369        code              = 6122;
3370        name              = "Average Terrestrial System 1977";
3371        crsName           = "ATS77";
3372        ellipsoidName     = "Average Terrestrial System 1977";
3373        primeMeridianName = "Greenwich";
3374        verifyDatum();
3375        createAndVerifyGeographicCRS(4122, GEOGRAPHIC_2D);
3376    }
3377
3378    /**
3379     * Tests “Australian Antarctic Datum 1998” geodetic datum creation from the factory.
3380     *
3381     * <ul>
3382     *   <li>EPSG datum code: <b>6176</b></li>
3383     *   <li>EPSG datum name: <b>Australian Antarctic Datum 1998</b></li>
3384     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
3385     *   <li>Prime meridian name: <b>Greenwich</b></li>
3386     *   <li>CRS using the datum: <b>Australian Antarctic</b></li>
3387     * </ul>
3388     *
3389     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3390     */
3391    @Test
3392    public void testAustralianAntarctic() throws FactoryException {
3393        code              = 6176;
3394        name              = "Australian Antarctic Datum 1998";
3395        crsName           = "Australian Antarctic";
3396        ellipsoidName     = "GRS 1980";
3397        primeMeridianName = "Greenwich";
3398        verifyDatum();
3399        createAndVerifyGeographicCRS(4176, GEOGRAPHIC_2D);
3400    }
3401
3402    /**
3403     * Tests “Ayabelle Lighthouse” geodetic datum creation from the factory.
3404     *
3405     * <ul>
3406     *   <li>EPSG datum code: <b>6713</b></li>
3407     *   <li>EPSG datum name: <b>Ayabelle Lighthouse</b></li>
3408     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
3409     *   <li>Prime meridian name: <b>Greenwich</b></li>
3410     *   <li>CRS using the datum: <b>Ayabelle Lighthouse</b></li>
3411     * </ul>
3412     *
3413     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3414     */
3415    @Test
3416    public void testAyabelleLighthouse() throws FactoryException {
3417        code              = 6713;
3418        name              = "Ayabelle Lighthouse";
3419        crsName           = "Ayabelle Lighthouse";
3420        ellipsoidName     = "Clarke 1880 (RGS)";
3421        primeMeridianName = "Greenwich";
3422        verifyDatum();
3423        createAndVerifyGeographicCRS(4713, GEOGRAPHIC_2D);
3424    }
3425
3426    /**
3427     * Tests “Azores Central Islands 1948” geodetic datum creation from the factory.
3428     *
3429     * <ul>
3430     *   <li>EPSG datum code: <b>6183</b></li>
3431     *   <li>EPSG datum name: <b>Azores Central Islands 1948</b></li>
3432     *   <li>Ellipsoid name: <b>International 1924</b></li>
3433     *   <li>Prime meridian name: <b>Greenwich</b></li>
3434     *   <li>CRS using the datum: <b>Azores Central 1948</b></li>
3435     * </ul>
3436     *
3437     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3438     */
3439    @Test
3440    public void testAzoresCentral1948() throws FactoryException {
3441        code              = 6183;
3442        name              = "Azores Central Islands 1948";
3443        crsName           = "Azores Central 1948";
3444        ellipsoidName     = "International 1924";
3445        primeMeridianName = "Greenwich";
3446        verifyDatum();
3447        createAndVerifyGeographicCRS(4183, GEOGRAPHIC_2D);
3448    }
3449
3450    /**
3451     * Tests “Azores Central Islands 1995” geodetic datum creation from the factory.
3452     *
3453     * <ul>
3454     *   <li>EPSG datum code: <b>6665</b></li>
3455     *   <li>EPSG datum name: <b>Azores Central Islands 1995</b></li>
3456     *   <li>Ellipsoid name: <b>International 1924</b></li>
3457     *   <li>Prime meridian name: <b>Greenwich</b></li>
3458     *   <li>CRS using the datum: <b>Azores Central 1995</b></li>
3459     * </ul>
3460     *
3461     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3462     */
3463    @Test
3464    public void testAzoresCentral1995() throws FactoryException {
3465        code              = 6665;
3466        name              = "Azores Central Islands 1995";
3467        crsName           = "Azores Central 1995";
3468        ellipsoidName     = "International 1924";
3469        primeMeridianName = "Greenwich";
3470        verifyDatum();
3471        createAndVerifyGeographicCRS(4665, GEOGRAPHIC_2D);
3472    }
3473
3474    /**
3475     * Tests “Azores Occidental Islands 1939” geodetic datum creation from the factory.
3476     *
3477     * <ul>
3478     *   <li>EPSG datum code: <b>6182</b></li>
3479     *   <li>EPSG datum name: <b>Azores Occidental Islands 1939</b></li>
3480     *   <li>Ellipsoid name: <b>International 1924</b></li>
3481     *   <li>Prime meridian name: <b>Greenwich</b></li>
3482     *   <li>CRS using the datum: <b>Azores Occidental 1939</b></li>
3483     * </ul>
3484     *
3485     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3486     */
3487    @Test
3488    public void testAzoresOccidental1939() throws FactoryException {
3489        code              = 6182;
3490        name              = "Azores Occidental Islands 1939";
3491        crsName           = "Azores Occidental 1939";
3492        ellipsoidName     = "International 1924";
3493        primeMeridianName = "Greenwich";
3494        verifyDatum();
3495        createAndVerifyGeographicCRS(4182, GEOGRAPHIC_2D);
3496    }
3497
3498    /**
3499     * Tests “Azores Oriental Islands 1940” geodetic datum creation from the factory.
3500     *
3501     * <ul>
3502     *   <li>EPSG datum code: <b>6184</b></li>
3503     *   <li>EPSG datum name: <b>Azores Oriental Islands 1940</b></li>
3504     *   <li>Ellipsoid name: <b>International 1924</b></li>
3505     *   <li>Prime meridian name: <b>Greenwich</b></li>
3506     *   <li>CRS using the datum: <b>Azores Oriental 1940</b></li>
3507     * </ul>
3508     *
3509     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3510     */
3511    @Test
3512    public void testAzoresOriental1940() throws FactoryException {
3513        code              = 6184;
3514        name              = "Azores Oriental Islands 1940";
3515        crsName           = "Azores Oriental 1940";
3516        ellipsoidName     = "International 1924";
3517        primeMeridianName = "Greenwich";
3518        verifyDatum();
3519        createAndVerifyGeographicCRS(4184, GEOGRAPHIC_2D);
3520    }
3521
3522    /**
3523     * Tests “Azores Oriental Islands 1995” geodetic datum creation from the factory.
3524     *
3525     * <ul>
3526     *   <li>EPSG datum code: <b>6664</b></li>
3527     *   <li>EPSG datum name: <b>Azores Oriental Islands 1995</b></li>
3528     *   <li>Ellipsoid name: <b>International 1924</b></li>
3529     *   <li>Prime meridian name: <b>Greenwich</b></li>
3530     *   <li>CRS using the datum: <b>Azores Oriental 1995</b></li>
3531     * </ul>
3532     *
3533     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3534     */
3535    @Test
3536    public void testAzoresOriental1995() throws FactoryException {
3537        code              = 6664;
3538        name              = "Azores Oriental Islands 1995";
3539        crsName           = "Azores Oriental 1995";
3540        ellipsoidName     = "International 1924";
3541        primeMeridianName = "Greenwich";
3542        verifyDatum();
3543        createAndVerifyGeographicCRS(4664, GEOGRAPHIC_2D);
3544    }
3545
3546    /**
3547     * Tests “Barbados 1938” geodetic datum creation from the factory.
3548     *
3549     * <ul>
3550     *   <li>EPSG datum code: <b>6212</b></li>
3551     *   <li>EPSG datum name: <b>Barbados 1938</b></li>
3552     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
3553     *   <li>Prime meridian name: <b>Greenwich</b></li>
3554     *   <li>CRS using the datum: <b>Barbados 1938</b></li>
3555     * </ul>
3556     *
3557     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3558     */
3559    @Test
3560    public void testBarbados() throws FactoryException {
3561        code              = 6212;
3562        name              = "Barbados 1938";
3563        crsName           = "Barbados 1938";
3564        ellipsoidName     = "Clarke 1880 (RGS)";
3565        primeMeridianName = "Greenwich";
3566        verifyDatum();
3567        createAndVerifyGeographicCRS(4212, GEOGRAPHIC_2D);
3568    }
3569
3570    /**
3571     * Tests “Bermuda 2000” geodetic datum creation from the factory.
3572     *
3573     * <ul>
3574     *   <li>EPSG datum code: <b>6762</b></li>
3575     *   <li>EPSG datum name: <b>Bermuda 2000</b></li>
3576     *   <li>Ellipsoid name: <b>WGS 84</b></li>
3577     *   <li>Prime meridian name: <b>Greenwich</b></li>
3578     *   <li>CRS using the datum: <b>BDA2000</b></li>
3579     * </ul>
3580     *
3581     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3582     */
3583    @Test
3584    public void testBDA2000() throws FactoryException {
3585        code              = 6762;
3586        name              = "Bermuda 2000";
3587        crsName           = "BDA2000";
3588        ellipsoidName     = "WGS 84";
3589        primeMeridianName = "Greenwich";
3590        verifyDatum();
3591        createAndVerifyGeographicCRS(4762, GEOGRAPHIC_2D);
3592    }
3593
3594    /**
3595     * Tests “Beduaram” geodetic datum creation from the factory.
3596     *
3597     * <ul>
3598     *   <li>EPSG datum code: <b>6213</b></li>
3599     *   <li>EPSG datum name: <b>Beduaram</b></li>
3600     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
3601     *   <li>Prime meridian name: <b>Greenwich</b></li>
3602     *   <li>CRS using the datum: <b>Beduaram</b></li>
3603     * </ul>
3604     *
3605     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3606     */
3607    @Test
3608    public void testBeduaram() throws FactoryException {
3609        code              = 6213;
3610        name              = "Beduaram";
3611        crsName           = "Beduaram";
3612        ellipsoidName     = "Clarke 1880 (IGN)";
3613        primeMeridianName = "Greenwich";
3614        verifyDatum();
3615        createAndVerifyGeographicCRS(4213, GEOGRAPHIC_2D);
3616    }
3617
3618    /**
3619     * Tests “Reseau National Belge 1950” geodetic datum creation from the factory.
3620     *
3621     * <ul>
3622     *   <li>EPSG datum code: <b>6215</b></li>
3623     *   <li>EPSG datum name: <b>Reseau National Belge 1950</b></li>
3624     *   <li>Ellipsoid name: <b>International 1924</b></li>
3625     *   <li>Prime meridian name: <b>Greenwich</b></li>
3626     *   <li>CRS using the datum: <b>Belge 1950</b></li>
3627     * </ul>
3628     *
3629     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3630     */
3631    @Test
3632    public void testBelge1950() throws FactoryException {
3633        code              = 6215;
3634        name              = "Reseau National Belge 1950";
3635        crsName           = "Belge 1950";
3636        ellipsoidName     = "International 1924";
3637        primeMeridianName = "Greenwich";
3638        verifyDatum();
3639        createAndVerifyGeographicCRS(4215, GEOGRAPHIC_2D);
3640    }
3641
3642    /**
3643     * Tests “Reseau National Belge 1950 (Brussels)” geodetic datum creation from the factory.
3644     *
3645     * <ul>
3646     *   <li>EPSG datum code: <b>6809</b></li>
3647     *   <li>EPSG datum name: <b>Reseau National Belge 1950 (Brussels)</b></li>
3648     *   <li>Ellipsoid name: <b>International 1924</b></li>
3649     *   <li>Prime meridian name: <b>Brussels</b></li>
3650     *   <li>CRS using the datum: <b>Belge 1950 (Brussels)</b></li>
3651     * </ul>
3652     *
3653     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3654     */
3655    @Test
3656    public void testBelge1950_Brussels() throws FactoryException {
3657        code              = 6809;
3658        name              = "Reseau National Belge 1950 (Brussels)";
3659        crsName           = "Belge 1950 (Brussels)";
3660        ellipsoidName     = "International 1924";
3661        primeMeridianName = "Brussels";
3662        verifyDatum();
3663        createAndVerifyGeographicCRS(4809, GEOGRAPHIC_2D);
3664    }
3665
3666    /**
3667     * Tests “Reseau National Belge 1972” geodetic datum creation from the factory.
3668     *
3669     * <ul>
3670     *   <li>EPSG datum code: <b>6313</b></li>
3671     *   <li>EPSG datum name: <b>Reseau National Belge 1972</b></li>
3672     *   <li>Ellipsoid name: <b>International 1924</b></li>
3673     *   <li>Prime meridian name: <b>Greenwich</b></li>
3674     *   <li>CRS using the datum: <b>Belge 1972</b></li>
3675     * </ul>
3676     *
3677     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3678     */
3679    @Test
3680    public void testBelge1972() throws FactoryException {
3681        code              = 6313;
3682        name              = "Reseau National Belge 1972";
3683        crsName           = "Belge 1972";
3684        ellipsoidName     = "International 1924";
3685        primeMeridianName = "Greenwich";
3686        verifyDatum();
3687        createAndVerifyGeographicCRS(4313, GEOGRAPHIC_2D);
3688    }
3689
3690    /**
3691     * Tests “Bellevue” geodetic datum creation from the factory.
3692     *
3693     * <ul>
3694     *   <li>EPSG datum code: <b>6714</b></li>
3695     *   <li>EPSG datum name: <b>Bellevue</b></li>
3696     *   <li>Ellipsoid name: <b>International 1924</b></li>
3697     *   <li>Prime meridian name: <b>Greenwich</b></li>
3698     *   <li>CRS using the datum: <b>Bellevue</b></li>
3699     * </ul>
3700     *
3701     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3702     */
3703    @Test
3704    public void testBellevue() throws FactoryException {
3705        code              = 6714;
3706        name              = "Bellevue";
3707        crsName           = "Bellevue";
3708        ellipsoidName     = "International 1924";
3709        primeMeridianName = "Greenwich";
3710        verifyDatum();
3711        createAndVerifyGeographicCRS(4714, GEOGRAPHIC_2D);
3712    }
3713
3714    /**
3715     * Tests “Bermuda 1957” geodetic datum creation from the factory.
3716     *
3717     * <ul>
3718     *   <li>EPSG datum code: <b>6216</b></li>
3719     *   <li>EPSG datum name: <b>Bermuda 1957</b></li>
3720     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
3721     *   <li>Prime meridian name: <b>Greenwich</b></li>
3722     *   <li>CRS using the datum: <b>Bermuda 1957</b></li>
3723     * </ul>
3724     *
3725     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3726     */
3727    @Test
3728    public void testBermuda() throws FactoryException {
3729        code              = 6216;
3730        name              = "Bermuda 1957";
3731        crsName           = "Bermuda 1957";
3732        ellipsoidName     = "Clarke 1866";
3733        primeMeridianName = "Greenwich";
3734        verifyDatum();
3735        createAndVerifyGeographicCRS(4216, GEOGRAPHIC_2D);
3736    }
3737
3738    /**
3739     * Tests “CH1903 (Bern)” geodetic datum creation from the factory.
3740     *
3741     * <ul>
3742     *   <li>EPSG datum code: <b>6801</b></li>
3743     *   <li>EPSG datum name: <b>CH1903 (Bern)</b></li>
3744     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
3745     *   <li>Prime meridian name: <b>Bern</b></li>
3746     *   <li>CRS using the datum: <b>Bern 1898 (Bern)</b></li>
3747     * </ul>
3748     *
3749     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3750     */
3751    @Test
3752    public void testBern1898() throws FactoryException {
3753        code              = 6801;
3754        name              = "CH1903 (Bern)";
3755        crsName           = "Bern 1898 (Bern)";
3756        ellipsoidName     = "Bessel 1841";
3757        primeMeridianName = "Bern";
3758        verifyDatum();
3759        createAndVerifyGeographicCRS(4801, GEOGRAPHIC_2D);
3760    }
3761
3762    /**
3763     * Tests “Bern 1938” geodetic datum creation from the factory.
3764     *
3765     * <ul>
3766     *   <li>EPSG datum code: <b>6306</b></li>
3767     *   <li>EPSG datum name: <b>Bern 1938</b></li>
3768     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
3769     *   <li>Prime meridian name: <b>Greenwich</b></li>
3770     *   <li>CRS using the datum: <b>Bern 1938</b></li>
3771     * </ul>
3772     *
3773     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3774     */
3775    @Test
3776    public void testBern1938() throws FactoryException {
3777        code              = 6306;
3778        name              = "Bern 1938";
3779        crsName           = "Bern 1938";
3780        ellipsoidName     = "Bessel 1841";
3781        primeMeridianName = "Greenwich";
3782        verifyDatum();
3783        createAndVerifyGeographicCRS(4306, GEOGRAPHIC_2D);
3784    }
3785
3786    /**
3787     * Tests “Bissau” geodetic datum creation from the factory.
3788     *
3789     * <ul>
3790     *   <li>EPSG datum code: <b>6165</b></li>
3791     *   <li>EPSG datum name: <b>Bissau</b></li>
3792     *   <li>Ellipsoid name: <b>International 1924</b></li>
3793     *   <li>Prime meridian name: <b>Greenwich</b></li>
3794     *   <li>CRS using the datum: <b>Bissau</b></li>
3795     * </ul>
3796     *
3797     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3798     */
3799    @Test
3800    public void testBissau() throws FactoryException {
3801        code              = 6165;
3802        name              = "Bissau";
3803        crsName           = "Bissau";
3804        ellipsoidName     = "International 1924";
3805        primeMeridianName = "Greenwich";
3806        verifyDatum();
3807        createAndVerifyGeographicCRS(4165, GEOGRAPHIC_2D);
3808    }
3809
3810    /**
3811     * Tests “Bogota 1975 (Bogota)” geodetic datum creation from the factory.
3812     *
3813     * <ul>
3814     *   <li>EPSG datum code: <b>6802</b></li>
3815     *   <li>EPSG datum name: <b>Bogota 1975 (Bogota)</b></li>
3816     *   <li>Ellipsoid name: <b>International 1924</b></li>
3817     *   <li>Prime meridian name: <b>Bogota</b></li>
3818     *   <li>CRS using the datum: <b>Bogota 1975 (Bogota)</b></li>
3819     * </ul>
3820     *
3821     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3822     */
3823    @Test
3824    public void testBogota_Bogota() throws FactoryException {
3825        code              = 6802;
3826        name              = "Bogota 1975 (Bogota)";
3827        crsName           = "Bogota 1975 (Bogota)";
3828        ellipsoidName     = "International 1924";
3829        primeMeridianName = "Bogota";
3830        verifyDatum();
3831        createAndVerifyGeographicCRS(4802, GEOGRAPHIC_2D);
3832    }
3833
3834    /**
3835     * Tests “Bukit Rimpah” geodetic datum creation from the factory.
3836     *
3837     * <ul>
3838     *   <li>EPSG datum code: <b>6219</b></li>
3839     *   <li>EPSG datum name: <b>Bukit Rimpah</b></li>
3840     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
3841     *   <li>Prime meridian name: <b>Greenwich</b></li>
3842     *   <li>CRS using the datum: <b>Bukit Rimpah</b></li>
3843     * </ul>
3844     *
3845     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3846     */
3847    @Test
3848    public void testBukitRimpah() throws FactoryException {
3849        code              = 6219;
3850        name              = "Bukit Rimpah";
3851        crsName           = "Bukit Rimpah";
3852        ellipsoidName     = "Bessel 1841";
3853        primeMeridianName = "Greenwich";
3854        verifyDatum();
3855        createAndVerifyGeographicCRS(4219, GEOGRAPHIC_2D);
3856    }
3857
3858    /**
3859     * Tests “Camp Area Astro” geodetic datum creation from the factory.
3860     *
3861     * <ul>
3862     *   <li>EPSG datum code: <b>6715</b></li>
3863     *   <li>EPSG datum name: <b>Camp Area Astro</b></li>
3864     *   <li>Ellipsoid name: <b>International 1924</b></li>
3865     *   <li>Prime meridian name: <b>Greenwich</b></li>
3866     *   <li>CRS using the datum: <b>Camp Area Astro</b></li>
3867     * </ul>
3868     *
3869     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3870     */
3871    @Test
3872    public void testCampAreaAstro() throws FactoryException {
3873        code              = 6715;
3874        name              = "Camp Area Astro";
3875        crsName           = "Camp Area Astro";
3876        ellipsoidName     = "International 1924";
3877        primeMeridianName = "Greenwich";
3878        verifyDatum();
3879        createAndVerifyGeographicCRS(4715, GEOGRAPHIC_2D);
3880    }
3881
3882    /**
3883     * Tests “Cape” geodetic datum creation from the factory.
3884     *
3885     * <ul>
3886     *   <li>EPSG datum code: <b>6222</b></li>
3887     *   <li>EPSG datum name: <b>Cape</b></li>
3888     *   <li>Ellipsoid name: <b>Clarke 1880 (Arc)</b></li>
3889     *   <li>Prime meridian name: <b>Greenwich</b></li>
3890     *   <li>CRS using the datum: <b>Cape</b></li>
3891     * </ul>
3892     *
3893     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3894     */
3895    @Test
3896    public void testCape() throws FactoryException {
3897        code              = 6222;
3898        name              = "Cape";
3899        crsName           = "Cape";
3900        ellipsoidName     = "Clarke 1880 (Arc)";
3901        primeMeridianName = "Greenwich";
3902        verifyDatum();
3903        createAndVerifyGeographicCRS(4222, GEOGRAPHIC_2D);
3904    }
3905
3906    /**
3907     * Tests “Cape Canaveral” geodetic datum creation from the factory.
3908     *
3909     * <ul>
3910     *   <li>EPSG datum code: <b>6717</b></li>
3911     *   <li>EPSG datum name: <b>Cape Canaveral</b></li>
3912     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
3913     *   <li>Prime meridian name: <b>Greenwich</b></li>
3914     *   <li>CRS using the datum: <b>Cape Canaveral</b></li>
3915     * </ul>
3916     *
3917     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3918     */
3919    @Test
3920    public void testCapeCanaveral() throws FactoryException {
3921        code              = 6717;
3922        name              = "Cape Canaveral";
3923        crsName           = "Cape Canaveral";
3924        ellipsoidName     = "Clarke 1866";
3925        primeMeridianName = "Greenwich";
3926        verifyDatum();
3927        createAndVerifyGeographicCRS(4717, GEOGRAPHIC_2D);
3928    }
3929
3930    /**
3931     * Tests “Carthage (Paris)” geodetic datum creation from the factory.
3932     *
3933     * <ul>
3934     *   <li>EPSG datum code: <b>6816</b></li>
3935     *   <li>EPSG datum name: <b>Carthage (Paris)</b></li>
3936     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
3937     *   <li>Prime meridian name: <b>Paris</b></li>
3938     *   <li>CRS using the datum: <b>Carthage (Paris)</b></li>
3939     * </ul>
3940     *
3941     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3942     */
3943    @Test
3944    public void testCarthage_Paris() throws FactoryException {
3945        code              = 6816;
3946        name              = "Carthage (Paris)";
3947        crsName           = "Carthage (Paris)";
3948        ellipsoidName     = "Clarke 1880 (IGN)";
3949        primeMeridianName = "Paris";
3950        verifyDatum();
3951        createAndVerifyGeographicCRS(4816, GEOGRAPHIC_2D);
3952    }
3953
3954    /**
3955     * Tests “CH1903” geodetic datum creation from the factory.
3956     *
3957     * <ul>
3958     *   <li>EPSG datum code: <b>6149</b></li>
3959     *   <li>EPSG datum name: <b>CH1903</b></li>
3960     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
3961     *   <li>Prime meridian name: <b>Greenwich</b></li>
3962     *   <li>CRS using the datum: <b>CH1903</b></li>
3963     * </ul>
3964     *
3965     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3966     */
3967    @Test
3968    public void testCH1903() throws FactoryException {
3969        code              = 6149;
3970        name              = "CH1903";
3971        crsName           = "CH1903";
3972        ellipsoidName     = "Bessel 1841";
3973        primeMeridianName = "Greenwich";
3974        verifyDatum();
3975        createAndVerifyGeographicCRS(4149, GEOGRAPHIC_2D);
3976    }
3977
3978    /**
3979     * Tests “CH1903+” geodetic datum creation from the factory.
3980     *
3981     * <ul>
3982     *   <li>EPSG datum code: <b>6150</b></li>
3983     *   <li>EPSG datum name: <b>CH1903+</b></li>
3984     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
3985     *   <li>Prime meridian name: <b>Greenwich</b></li>
3986     *   <li>CRS using the datum: <b>CH1903+</b></li>
3987     * </ul>
3988     *
3989     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
3990     */
3991    @Test
3992    public void testCH1903_plus() throws FactoryException {
3993        code              = 6150;
3994        name              = "CH1903+";
3995        crsName           = "CH1903+";
3996        ellipsoidName     = "Bessel 1841";
3997        primeMeridianName = "Greenwich";
3998        verifyDatum();
3999        createAndVerifyGeographicCRS(4150, GEOGRAPHIC_2D);
4000    }
4001
4002    /**
4003     * Tests “Chatham Islands Datum 1971” geodetic datum creation from the factory.
4004     *
4005     * <ul>
4006     *   <li>EPSG datum code: <b>6672</b></li>
4007     *   <li>EPSG datum name: <b>Chatham Islands Datum 1971</b></li>
4008     *   <li>Ellipsoid name: <b>International 1924</b></li>
4009     *   <li>Prime meridian name: <b>Greenwich</b></li>
4010     *   <li>CRS using the datum: <b>Chatham Islands 1971</b></li>
4011     * </ul>
4012     *
4013     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4014     */
4015    @Test
4016    public void testChathamIslands1971() throws FactoryException {
4017        code              = 6672;
4018        name              = "Chatham Islands Datum 1971";
4019        crsName           = "Chatham Islands 1971";
4020        ellipsoidName     = "International 1924";
4021        primeMeridianName = "Greenwich";
4022        verifyDatum();
4023        createAndVerifyGeographicCRS(4672, GEOGRAPHIC_2D);
4024    }
4025
4026    /**
4027     * Tests “Chatham Islands Datum 1979” geodetic datum creation from the factory.
4028     *
4029     * <ul>
4030     *   <li>EPSG datum code: <b>6673</b></li>
4031     *   <li>EPSG datum name: <b>Chatham Islands Datum 1979</b></li>
4032     *   <li>Ellipsoid name: <b>International 1924</b></li>
4033     *   <li>Prime meridian name: <b>Greenwich</b></li>
4034     *   <li>CRS using the datum: <b>Chatham Islands 1979</b></li>
4035     * </ul>
4036     *
4037     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4038     */
4039    @Test
4040    public void testChathamIslands1979() throws FactoryException {
4041        code              = 6673;
4042        name              = "Chatham Islands Datum 1979";
4043        crsName           = "Chatham Islands 1979";
4044        ellipsoidName     = "International 1924";
4045        primeMeridianName = "Greenwich";
4046        verifyDatum();
4047        createAndVerifyGeographicCRS(4673, GEOGRAPHIC_2D);
4048    }
4049
4050    /**
4051     * Tests “Swiss Terrestrial Reference Frame 1995” geodetic datum creation from the factory.
4052     *
4053     * <ul>
4054     *   <li>EPSG datum code: <b>6151</b></li>
4055     *   <li>EPSG datum name: <b>Swiss Terrestrial Reference Frame 1995</b></li>
4056     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
4057     *   <li>Prime meridian name: <b>Greenwich</b></li>
4058     *   <li>CRS using the datum: <b>CHTRF95</b></li>
4059     * </ul>
4060     *
4061     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4062     */
4063    @Test
4064    public void testCHTRF95() throws FactoryException {
4065        code              = 6151;
4066        name              = "Swiss Terrestrial Reference Frame 1995";
4067        crsName           = "CHTRF95";
4068        ellipsoidName     = "GRS 1980";
4069        primeMeridianName = "Greenwich";
4070        verifyDatum();
4071        createAndVerifyGeographicCRS(4151, GEOGRAPHIC_2D);
4072    }
4073
4074    /**
4075     * Tests “Chua” geodetic datum creation from the factory.
4076     *
4077     * <ul>
4078     *   <li>EPSG datum code: <b>6224</b></li>
4079     *   <li>EPSG datum name: <b>Chua</b></li>
4080     *   <li>Ellipsoid name: <b>International 1924</b></li>
4081     *   <li>Prime meridian name: <b>Greenwich</b></li>
4082     *   <li>CRS using the datum: <b>Chua</b></li>
4083     * </ul>
4084     *
4085     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4086     */
4087    @Test
4088    public void testChua() throws FactoryException {
4089        code              = 6224;
4090        name              = "Chua";
4091        crsName           = "Chua";
4092        ellipsoidName     = "International 1924";
4093        primeMeridianName = "Greenwich";
4094        verifyDatum();
4095        createAndVerifyGeographicCRS(4224, GEOGRAPHIC_2D);
4096    }
4097
4098    /**
4099     * Tests “Cocos Islands 1965” geodetic datum creation from the factory.
4100     *
4101     * <ul>
4102     *   <li>EPSG datum code: <b>6708</b></li>
4103     *   <li>EPSG datum name: <b>Cocos Islands 1965</b></li>
4104     *   <li>Ellipsoid name: <b>Australian National Spheroid</b></li>
4105     *   <li>Prime meridian name: <b>Greenwich</b></li>
4106     *   <li>CRS using the datum: <b>Cocos Islands 1965</b></li>
4107     * </ul>
4108     *
4109     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4110     */
4111    @Test
4112    public void testCocosIslands() throws FactoryException {
4113        code              = 6708;
4114        name              = "Cocos Islands 1965";
4115        crsName           = "Cocos Islands 1965";
4116        ellipsoidName     = "Australian National Spheroid";
4117        primeMeridianName = "Greenwich";
4118        verifyDatum();
4119        createAndVerifyGeographicCRS(4708, GEOGRAPHIC_2D);
4120    }
4121
4122    /**
4123     * Tests “Combani 1950” geodetic datum creation from the factory.
4124     *
4125     * <ul>
4126     *   <li>EPSG datum code: <b>6632</b></li>
4127     *   <li>EPSG datum name: <b>Combani 1950</b></li>
4128     *   <li>Ellipsoid name: <b>International 1924</b></li>
4129     *   <li>Prime meridian name: <b>Greenwich</b></li>
4130     *   <li>CRS using the datum: <b>Combani 1950</b></li>
4131     * </ul>
4132     *
4133     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4134     */
4135    @Test
4136    public void testCombani() throws FactoryException {
4137        code              = 6632;
4138        name              = "Combani 1950";
4139        crsName           = "Combani 1950";
4140        ellipsoidName     = "International 1924";
4141        primeMeridianName = "Greenwich";
4142        verifyDatum();
4143        createAndVerifyGeographicCRS(4632, GEOGRAPHIC_2D);
4144    }
4145
4146    /**
4147     * Tests “Conakry 1905” geodetic datum creation from the factory.
4148     *
4149     * <ul>
4150     *   <li>EPSG datum code: <b>6315</b></li>
4151     *   <li>EPSG datum name: <b>Conakry 1905</b></li>
4152     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
4153     *   <li>Prime meridian name: <b>Greenwich</b></li>
4154     *   <li>CRS using the datum: <b>Conakry 1905</b></li>
4155     * </ul>
4156     *
4157     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4158     */
4159    @Test
4160    public void testConakry() throws FactoryException {
4161        code              = 6315;
4162        name              = "Conakry 1905";
4163        crsName           = "Conakry 1905";
4164        ellipsoidName     = "Clarke 1880 (IGN)";
4165        primeMeridianName = "Greenwich";
4166        verifyDatum();
4167        createAndVerifyGeographicCRS(4315, GEOGRAPHIC_2D);
4168    }
4169
4170    /**
4171     * Tests “Corrego Alegre 1970-72” geodetic datum creation from the factory.
4172     *
4173     * <ul>
4174     *   <li>EPSG datum code: <b>6225</b></li>
4175     *   <li>EPSG datum name: <b>Corrego Alegre 1970-72</b></li>
4176     *   <li>Ellipsoid name: <b>International 1924</b></li>
4177     *   <li>Prime meridian name: <b>Greenwich</b></li>
4178     *   <li>CRS using the datum: <b>Corrego Alegre 1970-72</b></li>
4179     * </ul>
4180     *
4181     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4182     */
4183    @Test
4184    public void testCorregoAlegre() throws FactoryException {
4185        code              = 6225;
4186        name              = "Corrego Alegre 1970-72";
4187        crsName           = "Corrego Alegre 1970-72";
4188        ellipsoidName     = "International 1924";
4189        primeMeridianName = "Greenwich";
4190        verifyDatum();
4191        createAndVerifyGeographicCRS(4225, GEOGRAPHIC_2D);
4192    }
4193
4194    /**
4195     * Tests “Centre Spatial Guyanais 1967” geodetic datum creation from the factory.
4196     *
4197     * <ul>
4198     *   <li>EPSG datum code: <b>6623</b></li>
4199     *   <li>EPSG datum name: <b>Centre Spatial Guyanais 1967</b></li>
4200     *   <li>Ellipsoid name: <b>International 1924</b></li>
4201     *   <li>Prime meridian name: <b>Greenwich</b></li>
4202     *   <li>CRS using the datum: <b>CSG67</b></li>
4203     * </ul>
4204     *
4205     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4206     */
4207    @Test
4208    public void testCSG67() throws FactoryException {
4209        code              = 6623;
4210        name              = "Centre Spatial Guyanais 1967";
4211        crsName           = "CSG67";
4212        ellipsoidName     = "International 1924";
4213        primeMeridianName = "Greenwich";
4214        verifyDatum();
4215        createAndVerifyGeographicCRS(4623, GEOGRAPHIC_2D);
4216    }
4217
4218    /**
4219     * Tests “Dabola 1981” geodetic datum creation from the factory.
4220     *
4221     * <ul>
4222     *   <li>EPSG datum code: <b>6155</b></li>
4223     *   <li>EPSG datum name: <b>Dabola 1981</b></li>
4224     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
4225     *   <li>Prime meridian name: <b>Greenwich</b></li>
4226     *   <li>CRS using the datum: <b>Dabola 1981</b></li>
4227     * </ul>
4228     *
4229     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4230     */
4231    @Test
4232    public void testDabola() throws FactoryException {
4233        code              = 6155;
4234        name              = "Dabola 1981";
4235        crsName           = "Dabola 1981";
4236        ellipsoidName     = "Clarke 1880 (IGN)";
4237        primeMeridianName = "Greenwich";
4238        verifyDatum();
4239        createAndVerifyGeographicCRS(4155, GEOGRAPHIC_2D);
4240    }
4241
4242    /**
4243     * Tests “Datum 73” geodetic datum creation from the factory.
4244     *
4245     * <ul>
4246     *   <li>EPSG datum code: <b>6274</b></li>
4247     *   <li>EPSG datum name: <b>Datum 73</b></li>
4248     *   <li>Ellipsoid name: <b>International 1924</b></li>
4249     *   <li>Prime meridian name: <b>Greenwich</b></li>
4250     *   <li>CRS using the datum: <b>Datum 73</b></li>
4251     * </ul>
4252     *
4253     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4254     */
4255    @Test
4256    public void testDatum73() throws FactoryException {
4257        code              = 6274;
4258        name              = "Datum 73";
4259        crsName           = "Datum 73";
4260        ellipsoidName     = "International 1924";
4261        primeMeridianName = "Greenwich";
4262        verifyDatum();
4263        createAndVerifyGeographicCRS(4274, GEOGRAPHIC_2D);
4264    }
4265
4266    /**
4267     * Tests “Deception Island” geodetic datum creation from the factory.
4268     *
4269     * <ul>
4270     *   <li>EPSG datum code: <b>6736</b></li>
4271     *   <li>EPSG datum name: <b>Deception Island</b></li>
4272     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
4273     *   <li>Prime meridian name: <b>Greenwich</b></li>
4274     *   <li>CRS using the datum: <b>Deception Island</b></li>
4275     * </ul>
4276     *
4277     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4278     */
4279    @Test
4280    public void testDeceptionIsland() throws FactoryException {
4281        code              = 6736;
4282        name              = "Deception Island";
4283        crsName           = "Deception Island";
4284        ellipsoidName     = "Clarke 1880 (RGS)";
4285        primeMeridianName = "Greenwich";
4286        verifyDatum();
4287        createAndVerifyGeographicCRS(4736, GEOGRAPHIC_2D);
4288    }
4289
4290    /**
4291     * Tests “Diego Garcia 1969” geodetic datum creation from the factory.
4292     *
4293     * <ul>
4294     *   <li>EPSG datum code: <b>6724</b></li>
4295     *   <li>EPSG datum name: <b>Diego Garcia 1969</b></li>
4296     *   <li>Ellipsoid name: <b>International 1924</b></li>
4297     *   <li>Prime meridian name: <b>Greenwich</b></li>
4298     *   <li>CRS using the datum: <b>Diego Garcia 1969</b></li>
4299     * </ul>
4300     *
4301     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4302     */
4303    @Test
4304    public void testDiegoGarcia() throws FactoryException {
4305        code              = 6724;
4306        name              = "Diego Garcia 1969";
4307        crsName           = "Diego Garcia 1969";
4308        ellipsoidName     = "International 1924";
4309        primeMeridianName = "Greenwich";
4310        verifyDatum();
4311        createAndVerifyGeographicCRS(4724, GEOGRAPHIC_2D);
4312    }
4313
4314    /**
4315     * Tests “Dominica 1945” geodetic datum creation from the factory.
4316     *
4317     * <ul>
4318     *   <li>EPSG datum code: <b>6602</b></li>
4319     *   <li>EPSG datum name: <b>Dominica 1945</b></li>
4320     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
4321     *   <li>Prime meridian name: <b>Greenwich</b></li>
4322     *   <li>CRS using the datum: <b>Dominica 1945</b></li>
4323     * </ul>
4324     *
4325     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4326     */
4327    @Test
4328    public void testDominica() throws FactoryException {
4329        code              = 6602;
4330        name              = "Dominica 1945";
4331        crsName           = "Dominica 1945";
4332        ellipsoidName     = "Clarke 1880 (RGS)";
4333        primeMeridianName = "Greenwich";
4334        verifyDatum();
4335        createAndVerifyGeographicCRS(4602, GEOGRAPHIC_2D);
4336    }
4337
4338    /**
4339     * Tests “Easter Island 1967” geodetic datum creation from the factory.
4340     *
4341     * <ul>
4342     *   <li>EPSG datum code: <b>6719</b></li>
4343     *   <li>EPSG datum name: <b>Easter Island 1967</b></li>
4344     *   <li>Ellipsoid name: <b>International 1924</b></li>
4345     *   <li>Prime meridian name: <b>Greenwich</b></li>
4346     *   <li>CRS using the datum: <b>Easter Island 1967</b></li>
4347     * </ul>
4348     *
4349     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4350     */
4351    @Test
4352    public void testEasterIsland() throws FactoryException {
4353        code              = 6719;
4354        name              = "Easter Island 1967";
4355        crsName           = "Easter Island 1967";
4356        ellipsoidName     = "International 1924";
4357        primeMeridianName = "Greenwich";
4358        verifyDatum();
4359        createAndVerifyGeographicCRS(4719, GEOGRAPHIC_2D);
4360    }
4361
4362    /**
4363     * Tests “European Datum 1979” geodetic datum creation from the factory.
4364     *
4365     * <ul>
4366     *   <li>EPSG datum code: <b>6668</b></li>
4367     *   <li>EPSG datum name: <b>European Datum 1979</b></li>
4368     *   <li>Ellipsoid name: <b>International 1924</b></li>
4369     *   <li>Prime meridian name: <b>Greenwich</b></li>
4370     *   <li>CRS using the datum: <b>ED79</b></li>
4371     * </ul>
4372     *
4373     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4374     */
4375    @Test
4376    public void testED79() throws FactoryException {
4377        code              = 6668;
4378        name              = "European Datum 1979";
4379        crsName           = "ED79";
4380        ellipsoidName     = "International 1924";
4381        primeMeridianName = "Greenwich";
4382        verifyDatum();
4383        createAndVerifyGeographicCRS(4668, GEOGRAPHIC_2D);
4384    }
4385
4386    /**
4387     * Tests “European Datum 1987” geodetic datum creation from the factory.
4388     *
4389     * <ul>
4390     *   <li>EPSG datum code: <b>6231</b></li>
4391     *   <li>EPSG datum name: <b>European Datum 1987</b></li>
4392     *   <li>Ellipsoid name: <b>International 1924</b></li>
4393     *   <li>Prime meridian name: <b>Greenwich</b></li>
4394     *   <li>CRS using the datum: <b>ED87</b></li>
4395     * </ul>
4396     *
4397     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4398     */
4399    @Test
4400    public void testED87() throws FactoryException {
4401        code              = 6231;
4402        name              = "European Datum 1987";
4403        crsName           = "ED87";
4404        ellipsoidName     = "International 1924";
4405        primeMeridianName = "Greenwich";
4406        verifyDatum();
4407        createAndVerifyGeographicCRS(4231, GEOGRAPHIC_2D);
4408    }
4409
4410    /**
4411     * Tests “Egypt 1930” geodetic datum creation from the factory.
4412     *
4413     * <ul>
4414     *   <li>EPSG datum code: <b>6199</b></li>
4415     *   <li>EPSG datum name: <b>Egypt 1930</b></li>
4416     *   <li>Ellipsoid name: <b>International 1924</b></li>
4417     *   <li>Prime meridian name: <b>Greenwich</b></li>
4418     *   <li>CRS using the datum: <b>Egypt 1930</b></li>
4419     * </ul>
4420     *
4421     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4422     */
4423    @Test
4424    public void testEgypt1930() throws FactoryException {
4425        code              = 6199;
4426        name              = "Egypt 1930";
4427        crsName           = "Egypt 1930";
4428        ellipsoidName     = "International 1924";
4429        primeMeridianName = "Greenwich";
4430        verifyDatum();
4431        createAndVerifyGeographicCRS(4199, GEOGRAPHIC_2D);
4432    }
4433
4434    /**
4435     * Tests “Estonia 1992” geodetic datum creation from the factory.
4436     *
4437     * <ul>
4438     *   <li>EPSG datum code: <b>6133</b></li>
4439     *   <li>EPSG datum name: <b>Estonia 1992</b></li>
4440     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
4441     *   <li>Prime meridian name: <b>Greenwich</b></li>
4442     *   <li>CRS using the datum: <b>EST92</b></li>
4443     * </ul>
4444     *
4445     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4446     */
4447    @Test
4448    public void testEST92() throws FactoryException {
4449        code              = 6133;
4450        name              = "Estonia 1992";
4451        crsName           = "EST92";
4452        ellipsoidName     = "GRS 1980";
4453        primeMeridianName = "Greenwich";
4454        verifyDatum();
4455        createAndVerifyGeographicCRS(4133, GEOGRAPHIC_2D);
4456    }
4457
4458    /**
4459     * Tests “Estonia 1997” geodetic datum creation from the factory.
4460     *
4461     * <ul>
4462     *   <li>EPSG datum code: <b>6180</b></li>
4463     *   <li>EPSG datum name: <b>Estonia 1997</b></li>
4464     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
4465     *   <li>Prime meridian name: <b>Greenwich</b></li>
4466     *   <li>CRS using the datum: <b>EST97</b></li>
4467     * </ul>
4468     *
4469     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4470     */
4471    @Test
4472    public void testEST97() throws FactoryException {
4473        code              = 6180;
4474        name              = "Estonia 1997";
4475        crsName           = "EST97";
4476        ellipsoidName     = "GRS 1980";
4477        primeMeridianName = "Greenwich";
4478        verifyDatum();
4479        createAndVerifyGeographicCRS(4180, GEOGRAPHIC_2D);
4480    }
4481
4482    /**
4483     * Tests “Fatu Iva 72” geodetic datum creation from the factory.
4484     *
4485     * <ul>
4486     *   <li>EPSG datum code: <b>6688</b></li>
4487     *   <li>EPSG datum name: <b>Fatu Iva 72</b></li>
4488     *   <li>Ellipsoid name: <b>International 1924</b></li>
4489     *   <li>Prime meridian name: <b>Greenwich</b></li>
4490     *   <li>CRS using the datum: <b>Fatu Iva 72</b></li>
4491     * </ul>
4492     *
4493     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4494     */
4495    @Test
4496    public void testFatuIva() throws FactoryException {
4497        code              = 6688;
4498        name              = "Fatu Iva 72";
4499        crsName           = "Fatu Iva 72";
4500        ellipsoidName     = "International 1924";
4501        primeMeridianName = "Greenwich";
4502        verifyDatum();
4503        createAndVerifyGeographicCRS(4688, GEOGRAPHIC_2D);
4504    }
4505
4506    /**
4507     * Tests “Faroe Datum 1954” geodetic datum creation from the factory.
4508     *
4509     * <ul>
4510     *   <li>EPSG datum code: <b>6741</b></li>
4511     *   <li>EPSG datum name: <b>Faroe Datum 1954</b></li>
4512     *   <li>Ellipsoid name: <b>International 1924</b></li>
4513     *   <li>Prime meridian name: <b>Greenwich</b></li>
4514     *   <li>CRS using the datum: <b>FD54</b></li>
4515     * </ul>
4516     *
4517     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4518     */
4519    @Test
4520    public void testFD54() throws FactoryException {
4521        code              = 6741;
4522        name              = "Faroe Datum 1954";
4523        crsName           = "FD54";
4524        ellipsoidName     = "International 1924";
4525        primeMeridianName = "Greenwich";
4526        verifyDatum();
4527        createAndVerifyGeographicCRS(4741, GEOGRAPHIC_2D);
4528    }
4529
4530    /**
4531     * Tests “Fiji 1956” geodetic datum creation from the factory.
4532     *
4533     * <ul>
4534     *   <li>EPSG datum code: <b>6721</b></li>
4535     *   <li>EPSG datum name: <b>Fiji 1956</b></li>
4536     *   <li>Ellipsoid name: <b>International 1924</b></li>
4537     *   <li>Prime meridian name: <b>Greenwich</b></li>
4538     *   <li>CRS using the datum: <b>Fiji 1956</b></li>
4539     * </ul>
4540     *
4541     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4542     */
4543    @Test
4544    public void testFiji1956() throws FactoryException {
4545        code              = 6721;
4546        name              = "Fiji 1956";
4547        crsName           = "Fiji 1956";
4548        ellipsoidName     = "International 1924";
4549        primeMeridianName = "Greenwich";
4550        verifyDatum();
4551        createAndVerifyGeographicCRS(4721, GEOGRAPHIC_2D);
4552    }
4553
4554    /**
4555     * Tests “Fiji Geodetic Datum 1986” geodetic datum creation from the factory.
4556     *
4557     * <ul>
4558     *   <li>EPSG datum code: <b>6720</b></li>
4559     *   <li>EPSG datum name: <b>Fiji Geodetic Datum 1986</b></li>
4560     *   <li>Ellipsoid name: <b>WGS 72</b></li>
4561     *   <li>Prime meridian name: <b>Greenwich</b></li>
4562     *   <li>CRS using the datum: <b>Fiji 1986</b></li>
4563     * </ul>
4564     *
4565     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4566     */
4567    @Test
4568    public void testFiji1986() throws FactoryException {
4569        code              = 6720;
4570        name              = "Fiji Geodetic Datum 1986";
4571        crsName           = "Fiji 1986";
4572        ellipsoidName     = "WGS 72";
4573        primeMeridianName = "Greenwich";
4574        verifyDatum();
4575        createAndVerifyGeographicCRS(4720, GEOGRAPHIC_2D);
4576    }
4577
4578    /**
4579     * Tests “fk89” geodetic datum creation from the factory.
4580     *
4581     * <ul>
4582     *   <li>EPSG datum code: <b>6753</b></li>
4583     *   <li>EPSG datum name: <b>fk89</b></li>
4584     *   <li>Ellipsoid name: <b>International 1924</b></li>
4585     *   <li>Prime meridian name: <b>Greenwich</b></li>
4586     *   <li>CRS using the datum: <b>fk89</b></li>
4587     * </ul>
4588     *
4589     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4590     */
4591    @Test
4592    public void testFk89() throws FactoryException {
4593        code              = 6753;
4594        name              = "fk89";
4595        crsName           = "fk89";
4596        ellipsoidName     = "International 1924";
4597        primeMeridianName = "Greenwich";
4598        verifyDatum();
4599        createAndVerifyGeographicCRS(4753, GEOGRAPHIC_2D);
4600    }
4601
4602    /**
4603     * Tests “Fort Marigot” geodetic datum creation from the factory.
4604     *
4605     * <ul>
4606     *   <li>EPSG datum code: <b>6621</b></li>
4607     *   <li>EPSG datum name: <b>Fort Marigot</b></li>
4608     *   <li>Ellipsoid name: <b>International 1924</b></li>
4609     *   <li>Prime meridian name: <b>Greenwich</b></li>
4610     *   <li>CRS using the datum: <b>Fort Marigot</b></li>
4611     * </ul>
4612     *
4613     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4614     */
4615    @Test
4616    public void testFortMarigot() throws FactoryException {
4617        code              = 6621;
4618        name              = "Fort Marigot";
4619        crsName           = "Fort Marigot";
4620        ellipsoidName     = "International 1924";
4621        primeMeridianName = "Greenwich";
4622        verifyDatum();
4623        createAndVerifyGeographicCRS(4621, GEOGRAPHIC_2D);
4624    }
4625
4626    /**
4627     * Tests “Gan 1970” geodetic datum creation from the factory.
4628     *
4629     * <ul>
4630     *   <li>EPSG datum code: <b>6684</b></li>
4631     *   <li>EPSG datum name: <b>Gan 1970</b></li>
4632     *   <li>Ellipsoid name: <b>International 1924</b></li>
4633     *   <li>Prime meridian name: <b>Greenwich</b></li>
4634     *   <li>CRS using the datum: <b>Gan 1970</b></li>
4635     * </ul>
4636     *
4637     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4638     */
4639    @Test
4640    public void testGan() throws FactoryException {
4641        code              = 6684;
4642        name              = "Gan 1970";
4643        crsName           = "Gan 1970";
4644        ellipsoidName     = "International 1924";
4645        primeMeridianName = "Greenwich";
4646        verifyDatum();
4647        createAndVerifyGeographicCRS(4684, GEOGRAPHIC_2D);
4648    }
4649
4650    /**
4651     * Tests “Garoua” geodetic datum creation from the factory.
4652     *
4653     * <ul>
4654     *   <li>EPSG datum code: <b>6197</b></li>
4655     *   <li>EPSG datum name: <b>Garoua</b></li>
4656     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
4657     *   <li>Prime meridian name: <b>Greenwich</b></li>
4658     *   <li>CRS using the datum: <b>Garoua</b></li>
4659     * </ul>
4660     *
4661     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4662     */
4663    @Test
4664    public void testGaroua() throws FactoryException {
4665        code              = 6197;
4666        name              = "Garoua";
4667        crsName           = "Garoua";
4668        ellipsoidName     = "Clarke 1880 (RGS)";
4669        primeMeridianName = "Greenwich";
4670        verifyDatum();
4671        createAndVerifyGeographicCRS(4197, GEOGRAPHIC_2D);
4672    }
4673
4674    /**
4675     * Tests “Greek Geodetic Reference System 1987” geodetic datum creation from the factory.
4676     *
4677     * <ul>
4678     *   <li>EPSG datum code: <b>6121</b></li>
4679     *   <li>EPSG datum name: <b>Greek Geodetic Reference System 1987</b></li>
4680     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
4681     *   <li>Prime meridian name: <b>Greenwich</b></li>
4682     *   <li>CRS using the datum: <b>GGRS87</b></li>
4683     * </ul>
4684     *
4685     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4686     */
4687    @Test
4688    public void testGGRS87() throws FactoryException {
4689        code              = 6121;
4690        name              = "Greek Geodetic Reference System 1987";
4691        crsName           = "GGRS87";
4692        ellipsoidName     = "GRS 1980";
4693        primeMeridianName = "Greenwich";
4694        verifyDatum();
4695        createAndVerifyGeographicCRS(4121, GEOGRAPHIC_2D);
4696    }
4697
4698    /**
4699     * Tests “Greenland 1996” geodetic datum creation from the factory.
4700     *
4701     * <ul>
4702     *   <li>EPSG datum code: <b>6747</b></li>
4703     *   <li>EPSG datum name: <b>Greenland 1996</b></li>
4704     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
4705     *   <li>Prime meridian name: <b>Greenwich</b></li>
4706     *   <li>CRS using the datum: <b>GR96</b></li>
4707     * </ul>
4708     *
4709     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4710     */
4711    @Test
4712    public void testGR96() throws FactoryException {
4713        code              = 6747;
4714        name              = "Greenland 1996";
4715        crsName           = "GR96";
4716        ellipsoidName     = "GRS 1980";
4717        primeMeridianName = "Greenwich";
4718        verifyDatum();
4719        createAndVerifyGeographicCRS(4747, GEOGRAPHIC_2D);
4720    }
4721
4722    /**
4723     * Tests “Grand Cayman 1959” geodetic datum creation from the factory.
4724     *
4725     * <ul>
4726     *   <li>EPSG datum code: <b>6723</b></li>
4727     *   <li>EPSG datum name: <b>Grand Cayman Geodetic Datum 1959</b></li>
4728     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
4729     *   <li>Prime meridian name: <b>Greenwich</b></li>
4730     *   <li>CRS using the datum: <b>GCGD59</b></li>
4731     * </ul>
4732     *
4733     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4734     */
4735    @Test
4736    public void testGrandCayman() throws FactoryException {
4737        code              = 6723;
4738        name              = "Grand Cayman Geodetic Datum 1959";
4739        crsName           = "GCGD59";
4740        ellipsoidName     = "Clarke 1866";
4741        primeMeridianName = "Greenwich";
4742        verifyDatum();
4743        createAndVerifyGeographicCRS(4723, GEOGRAPHIC_2D);
4744    }
4745
4746    /**
4747     * Tests “Grand Comoros” geodetic datum creation from the factory.
4748     *
4749     * <ul>
4750     *   <li>EPSG datum code: <b>6646</b></li>
4751     *   <li>EPSG datum name: <b>Grand Comoros</b></li>
4752     *   <li>Ellipsoid name: <b>International 1924</b></li>
4753     *   <li>Prime meridian name: <b>Greenwich</b></li>
4754     *   <li>CRS using the datum: <b>Grand Comoros</b></li>
4755     * </ul>
4756     *
4757     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4758     */
4759    @Test
4760    public void testGrandComoros() throws FactoryException {
4761        code              = 6646;
4762        name              = "Grand Comoros";
4763        crsName           = "Grand Comoros";
4764        ellipsoidName     = "International 1924";
4765        primeMeridianName = "Greenwich";
4766        verifyDatum();
4767        createAndVerifyGeographicCRS(4646, GEOGRAPHIC_2D);
4768    }
4769
4770    /**
4771     * Tests “Greek” geodetic datum creation from the factory.
4772     *
4773     * <ul>
4774     *   <li>EPSG datum code: <b>6120</b></li>
4775     *   <li>EPSG datum name: <b>Greek</b></li>
4776     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
4777     *   <li>Prime meridian name: <b>Greenwich</b></li>
4778     *   <li>CRS using the datum: <b>Greek</b></li>
4779     * </ul>
4780     *
4781     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4782     */
4783    @Test
4784    public void testGreek() throws FactoryException {
4785        code              = 6120;
4786        name              = "Greek";
4787        crsName           = "Greek";
4788        ellipsoidName     = "Bessel 1841";
4789        primeMeridianName = "Greenwich";
4790        verifyDatum();
4791        createAndVerifyGeographicCRS(4120, GEOGRAPHIC_2D);
4792    }
4793
4794    /**
4795     * Tests “Greek (Athens)” geodetic datum creation from the factory.
4796     *
4797     * <ul>
4798     *   <li>EPSG datum code: <b>6815</b></li>
4799     *   <li>EPSG datum name: <b>Greek (Athens)</b></li>
4800     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
4801     *   <li>Prime meridian name: <b>Athens</b></li>
4802     *   <li>CRS using the datum: <b>Greek (Athens)</b></li>
4803     * </ul>
4804     *
4805     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4806     */
4807    @Test
4808    public void testGreek_Athens() throws FactoryException {
4809        code              = 6815;
4810        name              = "Greek (Athens)";
4811        crsName           = "Greek (Athens)";
4812        ellipsoidName     = "Bessel 1841";
4813        primeMeridianName = "Athens";
4814        verifyDatum();
4815        createAndVerifyGeographicCRS(4815, GEOGRAPHIC_2D);
4816    }
4817
4818    /**
4819     * Tests “Grenada 1953” geodetic datum creation from the factory.
4820     *
4821     * <ul>
4822     *   <li>EPSG datum code: <b>6603</b></li>
4823     *   <li>EPSG datum name: <b>Grenada 1953</b></li>
4824     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
4825     *   <li>Prime meridian name: <b>Greenwich</b></li>
4826     *   <li>CRS using the datum: <b>Grenada 1953</b></li>
4827     * </ul>
4828     *
4829     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4830     */
4831    @Test
4832    public void testGrenada() throws FactoryException {
4833        code              = 6603;
4834        name              = "Grenada 1953";
4835        crsName           = "Grenada 1953";
4836        ellipsoidName     = "Clarke 1880 (RGS)";
4837        primeMeridianName = "Greenwich";
4838        verifyDatum();
4839        createAndVerifyGeographicCRS(4603, GEOGRAPHIC_2D);
4840    }
4841
4842    /**
4843     * Tests “Guadeloupe 1948” geodetic datum creation from the factory.
4844     *
4845     * <ul>
4846     *   <li>EPSG datum code: <b>6622</b></li>
4847     *   <li>EPSG datum name: <b>Guadeloupe 1948</b></li>
4848     *   <li>Ellipsoid name: <b>International 1924</b></li>
4849     *   <li>Prime meridian name: <b>Greenwich</b></li>
4850     *   <li>CRS using the datum: <b>Guadeloupe 1948</b></li>
4851     * </ul>
4852     *
4853     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4854     */
4855    @Test
4856    public void testGuadeloupe() throws FactoryException {
4857        code              = 6622;
4858        name              = "Guadeloupe 1948";
4859        crsName           = "Guadeloupe 1948";
4860        ellipsoidName     = "International 1924";
4861        primeMeridianName = "Greenwich";
4862        verifyDatum();
4863        createAndVerifyGeographicCRS(4622, GEOGRAPHIC_2D);
4864    }
4865
4866    /**
4867     * Tests “Guam 1963” geodetic datum creation from the factory.
4868     *
4869     * <ul>
4870     *   <li>EPSG datum code: <b>6675</b></li>
4871     *   <li>EPSG datum name: <b>Guam 1963</b></li>
4872     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
4873     *   <li>Prime meridian name: <b>Greenwich</b></li>
4874     *   <li>CRS using the datum: <b>Guam 1963</b></li>
4875     * </ul>
4876     *
4877     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4878     */
4879    @Test
4880    public void testGuam() throws FactoryException {
4881        code              = 6675;
4882        name              = "Guam 1963";
4883        crsName           = "Guam 1963";
4884        ellipsoidName     = "Clarke 1866";
4885        primeMeridianName = "Greenwich";
4886        verifyDatum();
4887        createAndVerifyGeographicCRS(4675, GEOGRAPHIC_2D);
4888    }
4889
4890    /**
4891     * Tests “Gulshan 303” geodetic datum creation from the factory.
4892     *
4893     * <ul>
4894     *   <li>EPSG datum code: <b>6682</b></li>
4895     *   <li>EPSG datum name: <b>Gulshan 303</b></li>
4896     *   <li>Ellipsoid name: <b>Everest 1830 (1937 Adjustment)</b></li>
4897     *   <li>Prime meridian name: <b>Greenwich</b></li>
4898     *   <li>CRS using the datum: <b>Gulshan 303</b></li>
4899     * </ul>
4900     *
4901     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4902     */
4903    @Test
4904    public void testGulshan() throws FactoryException {
4905        code              = 6682;
4906        name              = "Gulshan 303";
4907        crsName           = "Gulshan 303";
4908        ellipsoidName     = "Everest 1830 (1937 Adjustment)";
4909        primeMeridianName = "Greenwich";
4910        verifyDatum();
4911        createAndVerifyGeographicCRS(4682, GEOGRAPHIC_2D);
4912    }
4913
4914    /**
4915     * Tests “Hanoi 1972” geodetic datum creation from the factory.
4916     *
4917     * <ul>
4918     *   <li>EPSG datum code: <b>6147</b></li>
4919     *   <li>EPSG datum name: <b>Hanoi 1972</b></li>
4920     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
4921     *   <li>Prime meridian name: <b>Greenwich</b></li>
4922     *   <li>CRS using the datum: <b>Hanoi 1972</b></li>
4923     * </ul>
4924     *
4925     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4926     */
4927    @Test
4928    public void testHanoi() throws FactoryException {
4929        code              = 6147;
4930        name              = "Hanoi 1972";
4931        crsName           = "Hanoi 1972";
4932        ellipsoidName     = "Krassowsky 1940";
4933        primeMeridianName = "Greenwich";
4934        verifyDatum();
4935        createAndVerifyGeographicCRS(4147, GEOGRAPHIC_2D);
4936    }
4937
4938    /**
4939     * Tests “Hartebeesthoek94” geodetic datum creation from the factory.
4940     *
4941     * <ul>
4942     *   <li>EPSG datum code: <b>6148</b></li>
4943     *   <li>EPSG datum name: <b>Hartebeesthoek94</b></li>
4944     *   <li>Ellipsoid name: <b>WGS 84</b></li>
4945     *   <li>Prime meridian name: <b>Greenwich</b></li>
4946     *   <li>CRS using the datum: <b>Hartebeesthoek94</b></li>
4947     * </ul>
4948     *
4949     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4950     */
4951    @Test
4952    public void testHartebeesthoek() throws FactoryException {
4953        code              = 6148;
4954        name              = "Hartebeesthoek94";
4955        crsName           = "Hartebeesthoek94";
4956        ellipsoidName     = "WGS 84";
4957        primeMeridianName = "Greenwich";
4958        verifyDatum();
4959        createAndVerifyGeographicCRS(4148, GEOGRAPHIC_2D);
4960    }
4961
4962    /**
4963     * Tests “Hungarian Datum 1909” geodetic datum creation from the factory.
4964     *
4965     * <ul>
4966     *   <li>EPSG datum code: <b>1024</b></li>
4967     *   <li>EPSG datum name: <b>Hungarian Datum 1909</b></li>
4968     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
4969     *   <li>Prime meridian name: <b>Greenwich</b></li>
4970     *   <li>CRS using the datum: <b>HD1909</b></li>
4971     * </ul>
4972     *
4973     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4974     */
4975    @Test
4976    public void testHD1909() throws FactoryException {
4977        code              = 1024;
4978        name              = "Hungarian Datum 1909";
4979        crsName           = "HD1909";
4980        ellipsoidName     = "Bessel 1841";
4981        primeMeridianName = "Greenwich";
4982        verifyDatum();
4983        createAndVerifyGeographicCRS(3819, GEOGRAPHIC_2D);
4984    }
4985
4986    /**
4987     * Tests “Helle 1954” geodetic datum creation from the factory.
4988     *
4989     * <ul>
4990     *   <li>EPSG datum code: <b>6660</b></li>
4991     *   <li>EPSG datum name: <b>Helle 1954</b></li>
4992     *   <li>Ellipsoid name: <b>International 1924</b></li>
4993     *   <li>Prime meridian name: <b>Greenwich</b></li>
4994     *   <li>CRS using the datum: <b>Helle 1954</b></li>
4995     * </ul>
4996     *
4997     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
4998     */
4999    @Test
5000    public void testHelle() throws FactoryException {
5001        code              = 6660;
5002        name              = "Helle 1954";
5003        crsName           = "Helle 1954";
5004        ellipsoidName     = "International 1924";
5005        primeMeridianName = "Greenwich";
5006        verifyDatum();
5007        createAndVerifyGeographicCRS(4660, GEOGRAPHIC_2D);
5008    }
5009
5010    /**
5011     * Tests “Herat North” geodetic datum creation from the factory.
5012     *
5013     * <ul>
5014     *   <li>EPSG datum code: <b>6255</b></li>
5015     *   <li>EPSG datum name: <b>Herat North</b></li>
5016     *   <li>Ellipsoid name: <b>International 1924</b></li>
5017     *   <li>Prime meridian name: <b>Greenwich</b></li>
5018     *   <li>CRS using the datum: <b>Herat North</b></li>
5019     * </ul>
5020     *
5021     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5022     */
5023    @Test
5024    public void testHeratNorth() throws FactoryException {
5025        code              = 6255;
5026        name              = "Herat North";
5027        crsName           = "Herat North";
5028        ellipsoidName     = "International 1924";
5029        primeMeridianName = "Greenwich";
5030        verifyDatum();
5031        createAndVerifyGeographicCRS(4255, GEOGRAPHIC_2D);
5032    }
5033
5034    /**
5035     * Tests “Hjorsey 1955” geodetic datum creation from the factory.
5036     *
5037     * <ul>
5038     *   <li>EPSG datum code: <b>6658</b></li>
5039     *   <li>EPSG datum name: <b>Hjorsey 1955</b></li>
5040     *   <li>Ellipsoid name: <b>International 1924</b></li>
5041     *   <li>Prime meridian name: <b>Greenwich</b></li>
5042     *   <li>CRS using the datum: <b>Hjorsey 1955</b></li>
5043     * </ul>
5044     *
5045     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5046     */
5047    @Test
5048    public void testHjorsey() throws FactoryException {
5049        code              = 6658;
5050        name              = "Hjorsey 1955";
5051        crsName           = "Hjorsey 1955";
5052        ellipsoidName     = "International 1924";
5053        primeMeridianName = "Greenwich";
5054        verifyDatum();
5055        createAndVerifyGeographicCRS(4658, GEOGRAPHIC_2D);
5056    }
5057
5058    /**
5059     * Tests “Hong Kong 1963” geodetic datum creation from the factory.
5060     *
5061     * <ul>
5062     *   <li>EPSG datum code: <b>6738</b></li>
5063     *   <li>EPSG datum name: <b>Hong Kong 1963</b></li>
5064     *   <li>Ellipsoid name: <b>Clarke 1858</b></li>
5065     *   <li>Prime meridian name: <b>Greenwich</b></li>
5066     *   <li>CRS using the datum: <b>Hong Kong 1963</b></li>
5067     * </ul>
5068     *
5069     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5070     */
5071    @Test
5072    public void testHongKong1963() throws FactoryException {
5073        code              = 6738;
5074        name              = "Hong Kong 1963";
5075        crsName           = "Hong Kong 1963";
5076        ellipsoidName     = "Clarke 1858";
5077        primeMeridianName = "Greenwich";
5078        verifyDatum();
5079        createAndVerifyGeographicCRS(4738, GEOGRAPHIC_2D);
5080    }
5081
5082    /**
5083     * Tests “Hong Kong 1963(67)” geodetic datum creation from the factory.
5084     *
5085     * <ul>
5086     *   <li>EPSG datum code: <b>6739</b></li>
5087     *   <li>EPSG datum name: <b>Hong Kong 1963(67)</b></li>
5088     *   <li>Ellipsoid name: <b>International 1924</b></li>
5089     *   <li>Prime meridian name: <b>Greenwich</b></li>
5090     *   <li>CRS using the datum: <b>Hong Kong 1963(67)</b></li>
5091     * </ul>
5092     *
5093     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5094     */
5095    @Test
5096    public void testHongKong1963_67() throws FactoryException {
5097        code              = 6739;
5098        name              = "Hong Kong 1963(67)";
5099        crsName           = "Hong Kong 1963(67)";
5100        ellipsoidName     = "International 1924";
5101        primeMeridianName = "Greenwich";
5102        verifyDatum();
5103        createAndVerifyGeographicCRS(4739, GEOGRAPHIC_2D);
5104    }
5105
5106    /**
5107     * Tests “Hong Kong 1980” geodetic datum creation from the factory.
5108     *
5109     * <ul>
5110     *   <li>EPSG datum code: <b>6611</b></li>
5111     *   <li>EPSG datum name: <b>Hong Kong 1980</b></li>
5112     *   <li>Ellipsoid name: <b>International 1924</b></li>
5113     *   <li>Prime meridian name: <b>Greenwich</b></li>
5114     *   <li>CRS using the datum: <b>Hong Kong 1980</b></li>
5115     * </ul>
5116     *
5117     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5118     */
5119    @Test
5120    public void testHongKong1980() throws FactoryException {
5121        code              = 6611;
5122        name              = "Hong Kong 1980";
5123        crsName           = "Hong Kong 1980";
5124        ellipsoidName     = "International 1924";
5125        primeMeridianName = "Greenwich";
5126        verifyDatum();
5127        createAndVerifyGeographicCRS(4611, GEOGRAPHIC_2D);
5128    }
5129
5130    /**
5131     * Tests “Croatian Terrestrial Reference System” geodetic datum creation from the factory.
5132     *
5133     * <ul>
5134     *   <li>EPSG datum code: <b>6761</b></li>
5135     *   <li>EPSG datum name: <b>Croatian Terrestrial Reference System</b></li>
5136     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5137     *   <li>Prime meridian name: <b>Greenwich</b></li>
5138     *   <li>CRS using the datum: <b>HTRS96</b></li>
5139     * </ul>
5140     *
5141     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5142     */
5143    @Test
5144    public void testHTRS96() throws FactoryException {
5145        code              = 6761;
5146        name              = "Croatian Terrestrial Reference System";
5147        crsName           = "HTRS96";
5148        ellipsoidName     = "GRS 1980";
5149        primeMeridianName = "Greenwich";
5150        verifyDatum();
5151        createAndVerifyGeographicCRS(4761, GEOGRAPHIC_2D);
5152    }
5153
5154    /**
5155     * Tests “Hu Tzu Shan 1950” geodetic datum creation from the factory.
5156     *
5157     * <ul>
5158     *   <li>EPSG datum code: <b>6236</b></li>
5159     *   <li>EPSG datum name: <b>Hu Tzu Shan 1950</b></li>
5160     *   <li>Ellipsoid name: <b>International 1924</b></li>
5161     *   <li>Prime meridian name: <b>Greenwich</b></li>
5162     *   <li>CRS using the datum: <b>Hu Tzu Shan 1950</b></li>
5163     * </ul>
5164     *
5165     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5166     */
5167    @Test
5168    public void testHuTzuShan() throws FactoryException {
5169        code              = 6236;
5170        name              = "Hu Tzu Shan 1950";
5171        crsName           = "Hu Tzu Shan 1950";
5172        ellipsoidName     = "International 1924";
5173        primeMeridianName = "Greenwich";
5174        verifyDatum();
5175        createAndVerifyGeographicCRS(4236, GEOGRAPHIC_2D);
5176    }
5177
5178    /**
5179     * Tests “IGC 1962 Arc of the 6th Parallel South” geodetic datum creation from the factory.
5180     *
5181     * <ul>
5182     *   <li>EPSG datum code: <b>6697</b></li>
5183     *   <li>EPSG datum name: <b>IGC 1962 Arc of the 6th Parallel South</b></li>
5184     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
5185     *   <li>Prime meridian name: <b>Greenwich</b></li>
5186     *   <li>CRS using the datum: <b>IGC 1962 6th Parallel South</b></li>
5187     * </ul>
5188     *
5189     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5190     */
5191    @Test
5192    public void testIGC1962() throws FactoryException {
5193        code              = 6697;
5194        name              = "IGC 1962 Arc of the 6th Parallel South";
5195        crsName           = "IGC 1962 6th Parallel South";
5196        ellipsoidName     = "Clarke 1880 (RGS)";
5197        primeMeridianName = "Greenwich";
5198        verifyDatum();
5199        createAndVerifyGeographicCRS(4697, GEOGRAPHIC_2D);
5200    }
5201
5202    /**
5203     * Tests “Institut Geographique du Congo Belge 1955” geodetic datum creation from the factory.
5204     *
5205     * <ul>
5206     *   <li>EPSG datum code: <b>6701</b></li>
5207     *   <li>EPSG datum name: <b>Institut Geographique du Congo Belge 1955</b></li>
5208     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
5209     *   <li>Prime meridian name: <b>Greenwich</b></li>
5210     *   <li>CRS using the datum: <b>IGCB 1955</b></li>
5211     * </ul>
5212     *
5213     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5214     */
5215    @Test
5216    public void testCongoBelge() throws FactoryException {
5217        code              = 6701;
5218        name              = "Institut Geographique du Congo Belge 1955";
5219        crsName           = "IGCB 1955";
5220        ellipsoidName     = "Clarke 1880 (RGS)";
5221        primeMeridianName = "Greenwich";
5222        verifyDatum();
5223        createAndVerifyGeographicCRS(4701, GEOGRAPHIC_2D);
5224    }
5225
5226    /**
5227     * Tests “Istituto Geografico Militaire 1995” geodetic datum creation from the factory.
5228     *
5229     * <ul>
5230     *   <li>EPSG datum code: <b>6670</b></li>
5231     *   <li>EPSG datum name: <b>Istituto Geografico Militaire 1995</b></li>
5232     *   <li>Ellipsoid name: <b>WGS 84</b></li>
5233     *   <li>Prime meridian name: <b>Greenwich</b></li>
5234     *   <li>CRS using the datum: <b>IGM95</b></li>
5235     * </ul>
5236     *
5237     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5238     */
5239    @Test
5240    public void testIGM95() throws FactoryException {
5241        code              = 6670;
5242        name              = "Istituto Geografico Militaire 1995";
5243        crsName           = "IGM95";
5244        ellipsoidName     = "WGS 84";
5245        primeMeridianName = "Greenwich";
5246        verifyDatum();
5247        createAndVerifyGeographicCRS(4670, GEOGRAPHIC_2D);
5248    }
5249
5250    /**
5251     * Tests “IGN 1962 Kerguelen” geodetic datum creation from the factory.
5252     *
5253     * <ul>
5254     *   <li>EPSG datum code: <b>6698</b></li>
5255     *   <li>EPSG datum name: <b>IGN 1962 Kerguelen</b></li>
5256     *   <li>Ellipsoid name: <b>International 1924</b></li>
5257     *   <li>Prime meridian name: <b>Greenwich</b></li>
5258     *   <li>CRS using the datum: <b>IGN 1962 Kerguelen</b></li>
5259     * </ul>
5260     *
5261     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5262     */
5263    @Test
5264    public void testKerguelen() throws FactoryException {
5265        code              = 6698;
5266        name              = "IGN 1962 Kerguelen";
5267        crsName           = "IGN 1962 Kerguelen";
5268        ellipsoidName     = "International 1924";
5269        primeMeridianName = "Greenwich";
5270        verifyDatum();
5271        createAndVerifyGeographicCRS(4698, GEOGRAPHIC_2D);
5272    }
5273
5274    /**
5275     * Tests “IGN53 Mare” geodetic datum creation from the factory.
5276     *
5277     * <ul>
5278     *   <li>EPSG datum code: <b>6641</b></li>
5279     *   <li>EPSG datum name: <b>IGN53 Mare</b></li>
5280     *   <li>Ellipsoid name: <b>International 1924</b></li>
5281     *   <li>Prime meridian name: <b>Greenwich</b></li>
5282     *   <li>CRS using the datum: <b>IGN53 Mare</b></li>
5283     * </ul>
5284     *
5285     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5286     */
5287    @Test
5288    public void testMare() throws FactoryException {
5289        code              = 6641;
5290        name              = "IGN53 Mare";
5291        crsName           = "IGN53 Mare";
5292        ellipsoidName     = "International 1924";
5293        primeMeridianName = "Greenwich";
5294        verifyDatum();
5295        createAndVerifyGeographicCRS(4641, GEOGRAPHIC_2D);
5296    }
5297
5298    /**
5299     * Tests “IGN56 Lifou” geodetic datum creation from the factory.
5300     *
5301     * <ul>
5302     *   <li>EPSG datum code: <b>6633</b></li>
5303     *   <li>EPSG datum name: <b>IGN56 Lifou</b></li>
5304     *   <li>Ellipsoid name: <b>International 1924</b></li>
5305     *   <li>Prime meridian name: <b>Greenwich</b></li>
5306     *   <li>CRS using the datum: <b>IGN56 Lifou</b></li>
5307     * </ul>
5308     *
5309     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5310     */
5311    @Test
5312    public void testLifou() throws FactoryException {
5313        code              = 6633;
5314        name              = "IGN56 Lifou";
5315        crsName           = "IGN56 Lifou";
5316        ellipsoidName     = "International 1924";
5317        primeMeridianName = "Greenwich";
5318        verifyDatum();
5319        createAndVerifyGeographicCRS(4633, GEOGRAPHIC_2D);
5320    }
5321
5322    /**
5323     * Tests “IGN63 Hiva Oa” geodetic datum creation from the factory.
5324     *
5325     * <ul>
5326     *   <li>EPSG datum code: <b>6689</b></li>
5327     *   <li>EPSG datum name: <b>IGN63 Hiva Oa</b></li>
5328     *   <li>Ellipsoid name: <b>International 1924</b></li>
5329     *   <li>Prime meridian name: <b>Greenwich</b></li>
5330     *   <li>CRS using the datum: <b>IGN63 Hiva Oa</b></li>
5331     * </ul>
5332     *
5333     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5334     */
5335    @Test
5336    public void testHivaOa() throws FactoryException {
5337        code              = 6689;
5338        name              = "IGN63 Hiva Oa";
5339        crsName           = "IGN63 Hiva Oa";
5340        ellipsoidName     = "International 1924";
5341        primeMeridianName = "Greenwich";
5342        verifyDatum();
5343        createAndVerifyGeographicCRS(4689, GEOGRAPHIC_2D);
5344    }
5345
5346    /**
5347     * Tests “IGN72 Grande Terre” geodetic datum creation from the factory.
5348     *
5349     * <ul>
5350     *   <li>EPSG datum code: <b>6634</b></li>
5351     *   <li>EPSG datum name: <b>IGN72 Grande Terre</b></li>
5352     *   <li>Ellipsoid name: <b>International 1924</b></li>
5353     *   <li>Prime meridian name: <b>Greenwich</b></li>
5354     *   <li>CRS using the datum: <b>IGN72 Grande Terre</b></li>
5355     * </ul>
5356     *
5357     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5358     */
5359    @Test
5360    public void testGrandeTerre() throws FactoryException {
5361        code              = 6634;
5362        name              = "IGN72 Grande Terre";
5363        crsName           = "IGN72 Grande Terre";
5364        ellipsoidName     = "International 1924";
5365        primeMeridianName = "Greenwich";
5366        verifyDatum();
5367        createAndVerifyGeographicCRS(4662, GEOGRAPHIC_2D);
5368    }
5369
5370    /**
5371     * Tests “IGN72 Nuku Hiva” geodetic datum creation from the factory.
5372     *
5373     * <ul>
5374     *   <li>EPSG datum code: <b>6630</b></li>
5375     *   <li>EPSG datum name: <b>IGN72 Nuku Hiva</b></li>
5376     *   <li>Ellipsoid name: <b>International 1924</b></li>
5377     *   <li>Prime meridian name: <b>Greenwich</b></li>
5378     *   <li>CRS using the datum: <b>IGN72 Nuku Hiva</b></li>
5379     * </ul>
5380     *
5381     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5382     */
5383    @Test
5384    public void testNukuHiva() throws FactoryException {
5385        code              = 6630;
5386        name              = "IGN72 Nuku Hiva";
5387        crsName           = "IGN72 Nuku Hiva";
5388        ellipsoidName     = "International 1924";
5389        primeMeridianName = "Greenwich";
5390        verifyDatum();
5391        createAndVerifyGeographicCRS(4630, GEOGRAPHIC_2D);
5392    }
5393
5394    /**
5395     * Tests “Iraq-Kuwait Boundary Datum 1992” geodetic datum creation from the factory.
5396     *
5397     * <ul>
5398     *   <li>EPSG datum code: <b>6667</b></li>
5399     *   <li>EPSG datum name: <b>Iraq-Kuwait Boundary Datum 1992</b></li>
5400     *   <li>Ellipsoid name: <b>WGS 84</b></li>
5401     *   <li>Prime meridian name: <b>Greenwich</b></li>
5402     *   <li>CRS using the datum: <b>IKBD-92</b></li>
5403     * </ul>
5404     *
5405     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5406     */
5407    @Test
5408    public void testIKBD92() throws FactoryException {
5409        code              = 6667;
5410        name              = "Iraq-Kuwait Boundary Datum 1992";
5411        crsName           = "IKBD-92";
5412        ellipsoidName     = "WGS 84";
5413        primeMeridianName = "Greenwich";
5414        verifyDatum();
5415        createAndVerifyGeographicCRS(4667, GEOGRAPHIC_2D);
5416    }
5417
5418    /**
5419     * Tests “IRENET95” geodetic datum creation from the factory.
5420     *
5421     * <ul>
5422     *   <li>EPSG datum code: <b>6173</b></li>
5423     *   <li>EPSG datum name: <b>IRENET95</b></li>
5424     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5425     *   <li>Prime meridian name: <b>Greenwich</b></li>
5426     *   <li>CRS using the datum: <b>IRENET95</b></li>
5427     * </ul>
5428     *
5429     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5430     */
5431    @Test
5432    public void testIRENET95() throws FactoryException {
5433        code              = 6173;
5434        name              = "IRENET95";
5435        crsName           = "IRENET95";
5436        ellipsoidName     = "GRS 1980";
5437        primeMeridianName = "Greenwich";
5438        verifyDatum();
5439        createAndVerifyGeographicCRS(4173, GEOGRAPHIC_2D);
5440    }
5441
5442    /**
5443     * Tests “Islands Net 1993” geodetic datum creation from the factory.
5444     *
5445     * <ul>
5446     *   <li>EPSG datum code: <b>6659</b></li>
5447     *   <li>EPSG datum name: <b>Islands Net 1993</b></li>
5448     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5449     *   <li>Prime meridian name: <b>Greenwich</b></li>
5450     *   <li>CRS using the datum: <b>ISN93</b></li>
5451     * </ul>
5452     *
5453     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5454     */
5455    @Test
5456    public void testISN93() throws FactoryException {
5457        code              = 6659;
5458        name              = "Islands Net 1993";
5459        crsName           = "ISN93";
5460        ellipsoidName     = "GRS 1980";
5461        primeMeridianName = "Greenwich";
5462        verifyDatum();
5463        createAndVerifyGeographicCRS(4659, GEOGRAPHIC_2D);
5464    }
5465
5466    /**
5467     * Tests “Israel” geodetic datum creation from the factory.
5468     *
5469     * <ul>
5470     *   <li>EPSG datum code: <b>6141</b></li>
5471     *   <li>EPSG datum name: <b>Israel 1993</b></li>
5472     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5473     *   <li>Prime meridian name: <b>Greenwich</b></li>
5474     *   <li>CRS using the datum: <b>Israel 1993</b></li>
5475     * </ul>
5476     *
5477     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5478     */
5479    @Test
5480    public void testIsrael() throws FactoryException {
5481        code              = 6141;
5482        name              = "Israel 1993";
5483        crsName           = "Israel 1993";
5484        ellipsoidName     = "GRS 1980";
5485        primeMeridianName = "Greenwich";
5486        verifyDatum();
5487        createAndVerifyGeographicCRS(4141, GEOGRAPHIC_2D);
5488    }
5489
5490    /**
5491     * Tests “Iwo Jima 1945” geodetic datum creation from the factory.
5492     *
5493     * <ul>
5494     *   <li>EPSG datum code: <b>6709</b></li>
5495     *   <li>EPSG datum name: <b>Iwo Jima 1945</b></li>
5496     *   <li>Ellipsoid name: <b>International 1924</b></li>
5497     *   <li>Prime meridian name: <b>Greenwich</b></li>
5498     *   <li>CRS using the datum: <b>Iwo Jima 1945</b></li>
5499     * </ul>
5500     *
5501     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5502     */
5503    @Test
5504    public void testIwoJima() throws FactoryException {
5505        code              = 6709;
5506        name              = "Iwo Jima 1945";
5507        crsName           = "Iwo Jima 1945";
5508        ellipsoidName     = "International 1924";
5509        primeMeridianName = "Greenwich";
5510        verifyDatum();
5511        createAndVerifyGeographicCRS(4709, GEOGRAPHIC_2D);
5512    }
5513
5514    /**
5515     * Tests “Jamaica 2001” geodetic datum creation from the factory.
5516     *
5517     * <ul>
5518     *   <li>EPSG datum code: <b>6758</b></li>
5519     *   <li>EPSG datum name: <b>Jamaica 2001</b></li>
5520     *   <li>Ellipsoid name: <b>WGS 84</b></li>
5521     *   <li>Prime meridian name: <b>Greenwich</b></li>
5522     *   <li>CRS using the datum: <b>JAD2001</b></li>
5523     * </ul>
5524     *
5525     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5526     */
5527    @Test
5528    public void testJamaica2001() throws FactoryException {
5529        code              = 6758;
5530        name              = "Jamaica 2001";
5531        crsName           = "JAD2001";
5532        ellipsoidName     = "WGS 84";
5533        primeMeridianName = "Greenwich";
5534        verifyDatum();
5535        createAndVerifyGeographicCRS(4758, GEOGRAPHIC_2D);
5536    }
5537
5538    /**
5539     * Tests “Jamaica 1969” geodetic datum creation from the factory.
5540     *
5541     * <ul>
5542     *   <li>EPSG datum code: <b>6242</b></li>
5543     *   <li>EPSG datum name: <b>Jamaica 1969</b></li>
5544     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
5545     *   <li>Prime meridian name: <b>Greenwich</b></li>
5546     *   <li>CRS using the datum: <b>JAD69</b></li>
5547     * </ul>
5548     *
5549     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5550     */
5551    @Test
5552    public void testJamaica1969() throws FactoryException {
5553        code              = 6242;
5554        name              = "Jamaica 1969";
5555        crsName           = "JAD69";
5556        ellipsoidName     = "Clarke 1866";
5557        primeMeridianName = "Greenwich";
5558        verifyDatum();
5559        createAndVerifyGeographicCRS(4242, GEOGRAPHIC_2D);
5560    }
5561
5562    /**
5563     * Tests “Jamaica 1875” geodetic datum creation from the factory.
5564     *
5565     * <ul>
5566     *   <li>EPSG datum code: <b>6241</b></li>
5567     *   <li>EPSG datum name: <b>Jamaica 1875</b></li>
5568     *   <li>Ellipsoid name: <b>Clarke 1880</b></li>
5569     *   <li>Prime meridian name: <b>Greenwich</b></li>
5570     *   <li>CRS using the datum: <b>Jamaica 1875</b></li>
5571     * </ul>
5572     *
5573     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5574     */
5575    @Test
5576    public void testJamaica1875() throws FactoryException {
5577        code              = 6241;
5578        name              = "Jamaica 1875";
5579        crsName           = "Jamaica 1875";
5580        ellipsoidName     = "Clarke 1880";
5581        primeMeridianName = "Greenwich";
5582        verifyDatum();
5583        createAndVerifyGeographicCRS(4241, GEOGRAPHIC_2D);
5584    }
5585
5586    /**
5587     * Tests “Japanese Geodetic Datum 2000” geodetic datum creation from the factory.
5588     *
5589     * <ul>
5590     *   <li>EPSG datum code: <b>6612</b></li>
5591     *   <li>EPSG datum name: <b>Japanese Geodetic Datum 2000</b></li>
5592     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5593     *   <li>Prime meridian name: <b>Greenwich</b></li>
5594     *   <li>CRS using the datum: <b>JGD2000</b></li>
5595     * </ul>
5596     *
5597     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5598     */
5599    @Test
5600    public void testJGD2000() throws FactoryException {
5601        code              = 6612;
5602        name              = "Japanese Geodetic Datum 2000";
5603        crsName           = "JGD2000";
5604        ellipsoidName     = "GRS 1980";
5605        primeMeridianName = "Greenwich";
5606        verifyDatum();
5607        createAndVerifyGeographicCRS(4612, GEOGRAPHIC_2D);
5608    }
5609
5610    /**
5611     * Tests “Johnston Island 1961” geodetic datum creation from the factory.
5612     *
5613     * <ul>
5614     *   <li>EPSG datum code: <b>6725</b></li>
5615     *   <li>EPSG datum name: <b>Johnston Island 1961</b></li>
5616     *   <li>Ellipsoid name: <b>International 1924</b></li>
5617     *   <li>Prime meridian name: <b>Greenwich</b></li>
5618     *   <li>CRS using the datum: <b>Johnston Island 1961</b></li>
5619     * </ul>
5620     *
5621     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5622     */
5623    @Test
5624    public void testJohnstonIsland() throws FactoryException {
5625        code              = 6725;
5626        name              = "Johnston Island 1961";
5627        crsName           = "Johnston Island 1961";
5628        ellipsoidName     = "International 1924";
5629        primeMeridianName = "Greenwich";
5630        verifyDatum();
5631        createAndVerifyGeographicCRS(4725, GEOGRAPHIC_2D);
5632    }
5633
5634    /**
5635     * Tests “Jouik 1961” geodetic datum creation from the factory.
5636     *
5637     * <ul>
5638     *   <li>EPSG datum code: <b>6679</b></li>
5639     *   <li>EPSG datum name: <b>Jouik 1961</b></li>
5640     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
5641     *   <li>Prime meridian name: <b>Greenwich</b></li>
5642     *   <li>CRS using the datum: <b>Jouik 1961</b></li>
5643     * </ul>
5644     *
5645     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5646     */
5647    @Test
5648    public void testJouik() throws FactoryException {
5649        code              = 6679;
5650        name              = "Jouik 1961";
5651        crsName           = "Jouik 1961";
5652        ellipsoidName     = "Clarke 1880 (RGS)";
5653        primeMeridianName = "Greenwich";
5654        verifyDatum();
5655        createAndVerifyGeographicCRS(4679, GEOGRAPHIC_2D);
5656    }
5657
5658    /**
5659     * Tests “Kalianpur 1880” geodetic datum creation from the factory.
5660     *
5661     * <ul>
5662     *   <li>EPSG datum code: <b>6243</b></li>
5663     *   <li>EPSG datum name: <b>Kalianpur 1880</b></li>
5664     *   <li>Ellipsoid name: <b>Everest (1830 Definition)</b></li>
5665     *   <li>Prime meridian name: <b>Greenwich</b></li>
5666     *   <li>CRS using the datum: <b>Kalianpur 1880</b></li>
5667     * </ul>
5668     *
5669     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5670     */
5671    @Test
5672    public void testKalianpur() throws FactoryException {
5673        code              = 6243;
5674        name              = "Kalianpur 1880";
5675        crsName           = "Kalianpur 1880";
5676        ellipsoidName     = "Everest (1830 Definition)";
5677        primeMeridianName = "Greenwich";
5678        verifyDatum();
5679        createAndVerifyGeographicCRS(4243, GEOGRAPHIC_2D);
5680    }
5681
5682    /**
5683     * Tests “Kandawala” geodetic datum creation from the factory.
5684     *
5685     * <ul>
5686     *   <li>EPSG datum code: <b>6244</b></li>
5687     *   <li>EPSG datum name: <b>Kandawala</b></li>
5688     *   <li>Ellipsoid name: <b>Everest 1830 (1937 Adjustment)</b></li>
5689     *   <li>Prime meridian name: <b>Greenwich</b></li>
5690     *   <li>CRS using the datum: <b>Kandawala</b></li>
5691     * </ul>
5692     *
5693     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5694     */
5695    @Test
5696    public void testKandawala() throws FactoryException {
5697        code              = 6244;
5698        name              = "Kandawala";
5699        crsName           = "Kandawala";
5700        ellipsoidName     = "Everest 1830 (1937 Adjustment)";
5701        primeMeridianName = "Greenwich";
5702        verifyDatum();
5703        createAndVerifyGeographicCRS(4244, GEOGRAPHIC_2D);
5704    }
5705
5706    /**
5707     * Tests “Karbala 1979” geodetic datum creation from the factory.
5708     *
5709     * <ul>
5710     *   <li>EPSG datum code: <b>6743</b></li>
5711     *   <li>EPSG datum name: <b>Karbala 1979</b></li>
5712     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
5713     *   <li>Prime meridian name: <b>Greenwich</b></li>
5714     *   <li>CRS using the datum: <b>Karbala 1979</b></li>
5715     * </ul>
5716     *
5717     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5718     */
5719    @Test
5720    public void testKarbala() throws FactoryException {
5721        code              = 6743;
5722        name              = "Karbala 1979";
5723        crsName           = "Karbala 1979";
5724        ellipsoidName     = "Clarke 1880 (RGS)";
5725        primeMeridianName = "Greenwich";
5726        verifyDatum();
5727        createAndVerifyGeographicCRS(4743, GEOGRAPHIC_2D);
5728    }
5729
5730    /**
5731     * Tests “Kasai 1953” geodetic datum creation from the factory.
5732     *
5733     * <ul>
5734     *   <li>EPSG datum code: <b>6696</b></li>
5735     *   <li>EPSG datum name: <b>Kasai 1953</b></li>
5736     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
5737     *   <li>Prime meridian name: <b>Greenwich</b></li>
5738     *   <li>CRS using the datum: <b>Kasai 1953</b></li>
5739     * </ul>
5740     *
5741     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5742     */
5743    @Test
5744    public void testKasai() throws FactoryException {
5745        code              = 6696;
5746        name              = "Kasai 1953";
5747        crsName           = "Kasai 1953";
5748        ellipsoidName     = "Clarke 1880 (RGS)";
5749        primeMeridianName = "Greenwich";
5750        verifyDatum();
5751        createAndVerifyGeographicCRS(4696, GEOGRAPHIC_2D);
5752    }
5753
5754    /**
5755     * Tests “Katanga 1955” geodetic datum creation from the factory.
5756     *
5757     * <ul>
5758     *   <li>EPSG datum code: <b>6695</b></li>
5759     *   <li>EPSG datum name: <b>Katanga 1955</b></li>
5760     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
5761     *   <li>Prime meridian name: <b>Greenwich</b></li>
5762     *   <li>CRS using the datum: <b>Katanga 1955</b></li>
5763     * </ul>
5764     *
5765     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5766     */
5767    @Test
5768    public void testKatanga() throws FactoryException {
5769        code              = 6695;
5770        name              = "Katanga 1955";
5771        crsName           = "Katanga 1955";
5772        ellipsoidName     = "Clarke 1866";
5773        primeMeridianName = "Greenwich";
5774        verifyDatum();
5775        createAndVerifyGeographicCRS(4695, GEOGRAPHIC_2D);
5776    }
5777
5778    /**
5779     * Tests “Kertau (RSO)” geodetic datum creation from the factory.
5780     *
5781     * <ul>
5782     *   <li>EPSG datum code: <b>6751</b></li>
5783     *   <li>EPSG datum name: <b>Kertau (RSO)</b></li>
5784     *   <li>Ellipsoid name: <b>Everest 1830 (RSO 1969)</b></li>
5785     *   <li>Prime meridian name: <b>Greenwich</b></li>
5786     *   <li>CRS using the datum: <b>Kertau (RSO)</b></li>
5787     * </ul>
5788     *
5789     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5790     */
5791    @Test
5792    public void testKertau_RSO() throws FactoryException {
5793        code              = 6751;
5794        name              = "Kertau (RSO)";
5795        crsName           = "Kertau (RSO)";
5796        ellipsoidName     = "Everest 1830 (RSO 1969)";
5797        primeMeridianName = "Greenwich";
5798        verifyDatum();
5799        createAndVerifyGeographicCRS(4751, GEOGRAPHIC_2D);
5800    }
5801
5802    /**
5803     * Tests “Kartastokoordinaattijarjestelma (1966)” geodetic datum creation from the factory.
5804     *
5805     * <ul>
5806     *   <li>EPSG datum code: <b>6123</b></li>
5807     *   <li>EPSG datum name: <b>Kartastokoordinaattijarjestelma (1966)</b></li>
5808     *   <li>Ellipsoid name: <b>International 1924</b></li>
5809     *   <li>Prime meridian name: <b>Greenwich</b></li>
5810     *   <li>CRS using the datum: <b>KKJ</b></li>
5811     * </ul>
5812     *
5813     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5814     */
5815    @Test
5816    public void testKKJ() throws FactoryException {
5817        code              = 6123;
5818        name              = "Kartastokoordinaattijarjestelma (1966)";
5819        crsName           = "KKJ";
5820        ellipsoidName     = "International 1924";
5821        primeMeridianName = "Greenwich";
5822        verifyDatum();
5823        createAndVerifyGeographicCRS(4123, GEOGRAPHIC_2D);
5824    }
5825
5826    /**
5827     * Tests “Geocentric datum of Korea” geodetic datum creation from the factory.
5828     *
5829     * <ul>
5830     *   <li>EPSG datum code: <b>6737</b></li>
5831     *   <li>EPSG datum name: <b>Geocentric datum of Korea</b></li>
5832     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5833     *   <li>Prime meridian name: <b>Greenwich</b></li>
5834     *   <li>CRS using the datum: <b>Korea 2000</b></li>
5835     * </ul>
5836     *
5837     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5838     */
5839    @Test
5840    public void testKorea2000() throws FactoryException {
5841        code              = 6737;
5842        name              = "Geocentric datum of Korea";
5843        crsName           = "Korea 2000";
5844        ellipsoidName     = "GRS 1980";
5845        primeMeridianName = "Greenwich";
5846        verifyDatum();
5847        createAndVerifyGeographicCRS(4737, GEOGRAPHIC_2D);
5848    }
5849
5850    /**
5851     * Tests “Korean Datum 1985” geodetic datum creation from the factory.
5852     *
5853     * <ul>
5854     *   <li>EPSG datum code: <b>6162</b></li>
5855     *   <li>EPSG datum name: <b>Korean Datum 1985</b></li>
5856     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
5857     *   <li>Prime meridian name: <b>Greenwich</b></li>
5858     *   <li>CRS using the datum: <b>Korean 1985</b></li>
5859     * </ul>
5860     *
5861     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5862     */
5863    @Test
5864    public void testKorea1985() throws FactoryException {
5865        code              = 6162;
5866        name              = "Korean Datum 1985";
5867        crsName           = "Korean 1985";
5868        ellipsoidName     = "Bessel 1841";
5869        primeMeridianName = "Greenwich";
5870        verifyDatum();
5871        createAndVerifyGeographicCRS(4162, GEOGRAPHIC_2D);
5872    }
5873
5874    /**
5875     * Tests “Korean Datum 1995” geodetic datum creation from the factory.
5876     *
5877     * <ul>
5878     *   <li>EPSG datum code: <b>6166</b></li>
5879     *   <li>EPSG datum name: <b>Korean Datum 1995</b></li>
5880     *   <li>Ellipsoid name: <b>WGS 84</b></li>
5881     *   <li>Prime meridian name: <b>Greenwich</b></li>
5882     *   <li>CRS using the datum: <b>Korean 1995</b></li>
5883     * </ul>
5884     *
5885     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5886     */
5887    @Test
5888    public void testKorea1995() throws FactoryException {
5889        code              = 6166;
5890        name              = "Korean Datum 1995";
5891        crsName           = "Korean 1995";
5892        ellipsoidName     = "WGS 84";
5893        primeMeridianName = "Greenwich";
5894        verifyDatum();
5895        createAndVerifyGeographicCRS(4166, GEOGRAPHIC_2D);
5896    }
5897
5898    /**
5899     * Tests “Kousseri” geodetic datum creation from the factory.
5900     *
5901     * <ul>
5902     *   <li>EPSG datum code: <b>6198</b></li>
5903     *   <li>EPSG datum name: <b>Kousseri</b></li>
5904     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
5905     *   <li>Prime meridian name: <b>Greenwich</b></li>
5906     *   <li>CRS using the datum: <b>Kousseri</b></li>
5907     * </ul>
5908     *
5909     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5910     */
5911    @Test
5912    public void testKousseri() throws FactoryException {
5913        code              = 6198;
5914        name              = "Kousseri";
5915        crsName           = "Kousseri";
5916        ellipsoidName     = "Clarke 1880 (RGS)";
5917        primeMeridianName = "Greenwich";
5918        verifyDatum();
5919        createAndVerifyGeographicCRS(4198, GEOGRAPHIC_2D);
5920    }
5921
5922    /**
5923     * Tests “Kuwait Utility” geodetic datum creation from the factory.
5924     *
5925     * <ul>
5926     *   <li>EPSG datum code: <b>6319</b></li>
5927     *   <li>EPSG datum name: <b>Kuwait Utility</b></li>
5928     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
5929     *   <li>Prime meridian name: <b>Greenwich</b></li>
5930     *   <li>CRS using the datum: <b>KUDAMS</b></li>
5931     * </ul>
5932     *
5933     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5934     */
5935    @Test
5936    public void testKUDAMS() throws FactoryException {
5937        code              = 6319;
5938        name              = "Kuwait Utility";
5939        crsName           = "KUDAMS";
5940        ellipsoidName     = "GRS 1980";
5941        primeMeridianName = "Greenwich";
5942        verifyDatum();
5943        createAndVerifyGeographicCRS(4319, GEOGRAPHIC_2D);
5944    }
5945
5946    /**
5947     * Tests “Kusaie 1951” geodetic datum creation from the factory.
5948     *
5949     * <ul>
5950     *   <li>EPSG datum code: <b>6735</b></li>
5951     *   <li>EPSG datum name: <b>Kusaie 1951</b></li>
5952     *   <li>Ellipsoid name: <b>International 1924</b></li>
5953     *   <li>Prime meridian name: <b>Greenwich</b></li>
5954     *   <li>CRS using the datum: <b>Kusaie 1951</b></li>
5955     * </ul>
5956     *
5957     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5958     */
5959    @Test
5960    public void testKusaie() throws FactoryException {
5961        code              = 6735;
5962        name              = "Kusaie 1951";
5963        crsName           = "Kusaie 1951";
5964        ellipsoidName     = "International 1924";
5965        primeMeridianName = "Greenwich";
5966        verifyDatum();
5967        createAndVerifyGeographicCRS(4735, GEOGRAPHIC_2D);
5968    }
5969
5970    /**
5971     * Tests “La Canoa” geodetic datum creation from the factory.
5972     *
5973     * <ul>
5974     *   <li>EPSG datum code: <b>6247</b></li>
5975     *   <li>EPSG datum name: <b>La Canoa</b></li>
5976     *   <li>Ellipsoid name: <b>International 1924</b></li>
5977     *   <li>Prime meridian name: <b>Greenwich</b></li>
5978     *   <li>CRS using the datum: <b>La Canoa</b></li>
5979     * </ul>
5980     *
5981     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
5982     */
5983    @Test
5984    public void testLaCanoa() throws FactoryException {
5985        code              = 6247;
5986        name              = "La Canoa";
5987        crsName           = "La Canoa";
5988        ellipsoidName     = "International 1924";
5989        primeMeridianName = "Greenwich";
5990        verifyDatum();
5991        createAndVerifyGeographicCRS(4247, GEOGRAPHIC_2D);
5992    }
5993
5994    /**
5995     * Tests “Lake” geodetic datum creation from the factory.
5996     *
5997     * <ul>
5998     *   <li>EPSG datum code: <b>6249</b></li>
5999     *   <li>EPSG datum name: <b>Lake</b></li>
6000     *   <li>Ellipsoid name: <b>International 1924</b></li>
6001     *   <li>Prime meridian name: <b>Greenwich</b></li>
6002     *   <li>CRS using the datum: <b>Lake</b></li>
6003     * </ul>
6004     *
6005     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6006     */
6007    @Test
6008    public void testLake() throws FactoryException {
6009        code              = 6249;
6010        name              = "Lake";
6011        crsName           = "Lake";
6012        ellipsoidName     = "International 1924";
6013        primeMeridianName = "Greenwich";
6014        verifyDatum();
6015        createAndVerifyGeographicCRS(4249, GEOGRAPHIC_2D);
6016    }
6017
6018    /**
6019     * Tests “Lao 1993” geodetic datum creation from the factory.
6020     *
6021     * <ul>
6022     *   <li>EPSG datum code: <b>6677</b></li>
6023     *   <li>EPSG datum name: <b>Lao 1993</b></li>
6024     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
6025     *   <li>Prime meridian name: <b>Greenwich</b></li>
6026     *   <li>CRS using the datum: <b>Lao 1993</b></li>
6027     * </ul>
6028     *
6029     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6030     */
6031    @Test
6032    public void testLao1993() throws FactoryException {
6033        code              = 6677;
6034        name              = "Lao 1993";
6035        crsName           = "Lao 1993";
6036        ellipsoidName     = "Krassowsky 1940";
6037        primeMeridianName = "Greenwich";
6038        verifyDatum();
6039        createAndVerifyGeographicCRS(4677, GEOGRAPHIC_2D);
6040    }
6041
6042    /**
6043     * Tests “Lao National Datum 1997” geodetic datum creation from the factory.
6044     *
6045     * <ul>
6046     *   <li>EPSG datum code: <b>6678</b></li>
6047     *   <li>EPSG datum name: <b>Lao National Datum 1997</b></li>
6048     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
6049     *   <li>Prime meridian name: <b>Greenwich</b></li>
6050     *   <li>CRS using the datum: <b>Lao 1997</b></li>
6051     * </ul>
6052     *
6053     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6054     */
6055    @Test
6056    public void testLao1997() throws FactoryException {
6057        code              = 6678;
6058        name              = "Lao National Datum 1997";
6059        crsName           = "Lao 1997";
6060        ellipsoidName     = "Krassowsky 1940";
6061        primeMeridianName = "Greenwich";
6062        verifyDatum();
6063        createAndVerifyGeographicCRS(4678, GEOGRAPHIC_2D);
6064    }
6065
6066    /**
6067     * Tests “Le Pouce 1934” geodetic datum creation from the factory.
6068     *
6069     * <ul>
6070     *   <li>EPSG datum code: <b>6699</b></li>
6071     *   <li>EPSG datum name: <b>Le Pouce 1934</b></li>
6072     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6073     *   <li>Prime meridian name: <b>Greenwich</b></li>
6074     *   <li>CRS using the datum: <b>Le Pouce 1934</b></li>
6075     * </ul>
6076     *
6077     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6078     */
6079    @Test
6080    public void testLePouce() throws FactoryException {
6081        code              = 6699;
6082        name              = "Le Pouce 1934";
6083        crsName           = "Le Pouce 1934";
6084        ellipsoidName     = "Clarke 1880 (RGS)";
6085        primeMeridianName = "Greenwich";
6086        verifyDatum();
6087        createAndVerifyGeographicCRS(4699, GEOGRAPHIC_2D);
6088    }
6089
6090    /**
6091     * Tests “Leigon” geodetic datum creation from the factory.
6092     *
6093     * <ul>
6094     *   <li>EPSG datum code: <b>6250</b></li>
6095     *   <li>EPSG datum name: <b>Leigon</b></li>
6096     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6097     *   <li>Prime meridian name: <b>Greenwich</b></li>
6098     *   <li>CRS using the datum: <b>Leigon</b></li>
6099     * </ul>
6100     *
6101     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6102     */
6103    @Test
6104    public void testLeigon() throws FactoryException {
6105        code              = 6250;
6106        name              = "Leigon";
6107        crsName           = "Leigon";
6108        ellipsoidName     = "Clarke 1880 (RGS)";
6109        primeMeridianName = "Greenwich";
6110        verifyDatum();
6111        createAndVerifyGeographicCRS(4250, GEOGRAPHIC_2D);
6112    }
6113
6114    /**
6115     * Tests “Liberia 1964” geodetic datum creation from the factory.
6116     *
6117     * <ul>
6118     *   <li>EPSG datum code: <b>6251</b></li>
6119     *   <li>EPSG datum name: <b>Liberia 1964</b></li>
6120     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6121     *   <li>Prime meridian name: <b>Greenwich</b></li>
6122     *   <li>CRS using the datum: <b>Liberia 1964</b></li>
6123     * </ul>
6124     *
6125     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6126     */
6127    @Test
6128    public void testLiberia() throws FactoryException {
6129        code              = 6251;
6130        name              = "Liberia 1964";
6131        crsName           = "Liberia 1964";
6132        ellipsoidName     = "Clarke 1880 (RGS)";
6133        primeMeridianName = "Greenwich";
6134        verifyDatum();
6135        createAndVerifyGeographicCRS(4251, GEOGRAPHIC_2D);
6136    }
6137
6138    /**
6139     * Tests “Lisbon 1937” geodetic datum creation from the factory.
6140     *
6141     * <ul>
6142     *   <li>EPSG datum code: <b>6207</b></li>
6143     *   <li>EPSG datum name: <b>Lisbon 1937</b></li>
6144     *   <li>Ellipsoid name: <b>International 1924</b></li>
6145     *   <li>Prime meridian name: <b>Greenwich</b></li>
6146     *   <li>CRS using the datum: <b>Lisbon</b></li>
6147     * </ul>
6148     *
6149     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6150     */
6151    @Test
6152    public void testLisbon1937() throws FactoryException {
6153        code              = 6207;
6154        name              = "Lisbon 1937";
6155        crsName           = "Lisbon";
6156        ellipsoidName     = "International 1924";
6157        primeMeridianName = "Greenwich";
6158        verifyDatum();
6159        createAndVerifyGeographicCRS(4207, GEOGRAPHIC_2D);
6160    }
6161
6162    /**
6163     * Tests “Lisbon 1937 (Lisbon)” geodetic datum creation from the factory.
6164     *
6165     * <ul>
6166     *   <li>EPSG datum code: <b>6803</b></li>
6167     *   <li>EPSG datum name: <b>Lisbon 1937 (Lisbon)</b></li>
6168     *   <li>Ellipsoid name: <b>International 1924</b></li>
6169     *   <li>Prime meridian name: <b>Lisbon</b></li>
6170     *   <li>CRS using the datum: <b>Lisbon (Lisbon)</b></li>
6171     * </ul>
6172     *
6173     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6174     */
6175    @Test
6176    public void testLisbon1937_Lisbon() throws FactoryException {
6177        code              = 6803;
6178        name              = "Lisbon 1937 (Lisbon)";
6179        crsName           = "Lisbon (Lisbon)";
6180        ellipsoidName     = "International 1924";
6181        primeMeridianName = "Lisbon";
6182        verifyDatum();
6183        createAndVerifyGeographicCRS(4803, GEOGRAPHIC_2D);
6184    }
6185
6186    /**
6187     * Tests “Lisbon 1890” geodetic datum creation from the factory.
6188     *
6189     * <ul>
6190     *   <li>EPSG datum code: <b>6666</b></li>
6191     *   <li>EPSG datum name: <b>Lisbon 1890</b></li>
6192     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
6193     *   <li>Prime meridian name: <b>Greenwich</b></li>
6194     *   <li>CRS using the datum: <b>Lisbon 1890</b></li>
6195     * </ul>
6196     *
6197     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6198     */
6199    @Test
6200    public void testLisbon1890() throws FactoryException {
6201        code              = 6666;
6202        name              = "Lisbon 1890";
6203        crsName           = "Lisbon 1890";
6204        ellipsoidName     = "Bessel 1841";
6205        primeMeridianName = "Greenwich";
6206        verifyDatum();
6207        createAndVerifyGeographicCRS(4666, GEOGRAPHIC_2D);
6208    }
6209
6210    /**
6211     * Tests “Lisbon 1890 (Lisbon)” geodetic datum creation from the factory.
6212     *
6213     * <ul>
6214     *   <li>EPSG datum code: <b>6904</b></li>
6215     *   <li>EPSG datum name: <b>Lisbon 1890 (Lisbon)</b></li>
6216     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
6217     *   <li>Prime meridian name: <b>Lisbon</b></li>
6218     *   <li>CRS using the datum: <b>Lisbon 1890 (Lisbon)</b></li>
6219     * </ul>
6220     *
6221     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6222     */
6223    @Test
6224    public void testLisbon1890_Lisbon() throws FactoryException {
6225        code              = 6904;
6226        name              = "Lisbon 1890 (Lisbon)";
6227        crsName           = "Lisbon 1890 (Lisbon)";
6228        ellipsoidName     = "Bessel 1841";
6229        primeMeridianName = "Lisbon";
6230        verifyDatum();
6231        createAndVerifyGeographicCRS(4904, GEOGRAPHIC_2D);
6232    }
6233
6234    /**
6235     * Tests “Little Cayman 1961” geodetic datum creation from the factory.
6236     *
6237     * <ul>
6238     *   <li>EPSG datum code: <b>6726</b></li>
6239     *   <li>EPSG datum name: <b>Sister Islands Geodetic Datum 1961</b></li>
6240     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
6241     *   <li>Prime meridian name: <b>Greenwich</b></li>
6242     *   <li>CRS using the datum: <b>SIGD61</b></li>
6243     * </ul>
6244     *
6245     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6246     */
6247    @Test
6248    public void testLittleCayman() throws FactoryException {
6249        code              = 6726;
6250        name              = "Sister Islands Geodetic Datum 1961";
6251        crsName           = "SIGD61";
6252        ellipsoidName     = "Clarke 1866";
6253        primeMeridianName = "Greenwich";
6254        verifyDatum();
6255        createAndVerifyGeographicCRS(4726, GEOGRAPHIC_2D);
6256    }
6257
6258    /**
6259     * Tests “Latvia 1992” geodetic datum creation from the factory.
6260     *
6261     * <ul>
6262     *   <li>EPSG datum code: <b>6661</b></li>
6263     *   <li>EPSG datum name: <b>Latvia 1992</b></li>
6264     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
6265     *   <li>Prime meridian name: <b>Greenwich</b></li>
6266     *   <li>CRS using the datum: <b>LKS92</b></li>
6267     * </ul>
6268     *
6269     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6270     */
6271    @Test
6272    public void testLKS92() throws FactoryException {
6273        code              = 6661;
6274        name              = "Latvia 1992";
6275        crsName           = "LKS92";
6276        ellipsoidName     = "GRS 1980";
6277        primeMeridianName = "Greenwich";
6278        verifyDatum();
6279        createAndVerifyGeographicCRS(4661, GEOGRAPHIC_2D);
6280    }
6281
6282    /**
6283     * Tests “Lithuania 1994 (ETRS89)” geodetic datum creation from the factory.
6284     *
6285     * <ul>
6286     *   <li>EPSG datum code: <b>6126</b></li>
6287     *   <li>EPSG datum name: <b>Lithuania 1994 (ETRS89)</b></li>
6288     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
6289     *   <li>Prime meridian name: <b>Greenwich</b></li>
6290     *   <li>CRS using the datum: <b>LKS94</b></li>
6291     * </ul>
6292     *
6293     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6294     */
6295    @Test
6296    public void testLKS94() throws FactoryException {
6297        code              = 6126;
6298        name              = "Lithuania 1994 (ETRS89)";
6299        crsName           = "LKS94";
6300        ellipsoidName     = "GRS 1980";
6301        primeMeridianName = "Greenwich";
6302        verifyDatum();
6303        createAndVerifyGeographicCRS(4669, GEOGRAPHIC_2D);
6304    }
6305
6306    /**
6307     * Tests “Locodjo 1965” geodetic datum creation from the factory.
6308     *
6309     * <ul>
6310     *   <li>EPSG datum code: <b>6142</b></li>
6311     *   <li>EPSG datum name: <b>Locodjo 1965</b></li>
6312     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6313     *   <li>Prime meridian name: <b>Greenwich</b></li>
6314     *   <li>CRS using the datum: <b>Locodjo 1965</b></li>
6315     * </ul>
6316     *
6317     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6318     */
6319    @Test
6320    public void testLocodjo() throws FactoryException {
6321        code              = 6142;
6322        name              = "Locodjo 1965";
6323        crsName           = "Locodjo 1965";
6324        ellipsoidName     = "Clarke 1880 (RGS)";
6325        primeMeridianName = "Greenwich";
6326        verifyDatum();
6327        createAndVerifyGeographicCRS(4142, GEOGRAPHIC_2D);
6328    }
6329
6330    /**
6331     * Tests “Loma Quintana” geodetic datum creation from the factory.
6332     *
6333     * <ul>
6334     *   <li>EPSG datum code: <b>6288</b></li>
6335     *   <li>EPSG datum name: <b>Loma Quintana</b></li>
6336     *   <li>Ellipsoid name: <b>International 1924</b></li>
6337     *   <li>Prime meridian name: <b>Greenwich</b></li>
6338     *   <li>CRS using the datum: <b>Loma Quintana</b></li>
6339     * </ul>
6340     *
6341     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6342     */
6343    @Test
6344    public void testLomaQuintana() throws FactoryException {
6345        code              = 6288;
6346        name              = "Loma Quintana";
6347        crsName           = "Loma Quintana";
6348        ellipsoidName     = "International 1924";
6349        primeMeridianName = "Greenwich";
6350        verifyDatum();
6351        createAndVerifyGeographicCRS(4288, GEOGRAPHIC_2D);
6352    }
6353
6354    /**
6355     * Tests “Lome” geodetic datum creation from the factory.
6356     *
6357     * <ul>
6358     *   <li>EPSG datum code: <b>6252</b></li>
6359     *   <li>EPSG datum name: <b>Lome</b></li>
6360     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
6361     *   <li>Prime meridian name: <b>Greenwich</b></li>
6362     *   <li>CRS using the datum: <b>Lome</b></li>
6363     * </ul>
6364     *
6365     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6366     */
6367    @Test
6368    public void testLome() throws FactoryException {
6369        code              = 6252;
6370        name              = "Lome";
6371        crsName           = "Lome";
6372        ellipsoidName     = "Clarke 1880 (IGN)";
6373        primeMeridianName = "Greenwich";
6374        verifyDatum();
6375        createAndVerifyGeographicCRS(4252, GEOGRAPHIC_2D);
6376    }
6377
6378    /**
6379     * Tests “Luxembourg 1930” geodetic datum creation from the factory.
6380     *
6381     * <ul>
6382     *   <li>EPSG datum code: <b>6181</b></li>
6383     *   <li>EPSG datum name: <b>Luxembourg 1930</b></li>
6384     *   <li>Ellipsoid name: <b>International 1924</b></li>
6385     *   <li>Prime meridian name: <b>Greenwich</b></li>
6386     *   <li>CRS using the datum: <b>Luxembourg 1930</b></li>
6387     * </ul>
6388     *
6389     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6390     */
6391    @Test
6392    public void testLuxembourg() throws FactoryException {
6393        code              = 6181;
6394        name              = "Luxembourg 1930";
6395        crsName           = "Luxembourg 1930";
6396        ellipsoidName     = "International 1924";
6397        primeMeridianName = "Greenwich";
6398        verifyDatum();
6399        createAndVerifyGeographicCRS(4181, GEOGRAPHIC_2D);
6400    }
6401
6402    /**
6403     * Tests “Madrid 1870 (Madrid)” geodetic datum creation from the factory.
6404     *
6405     * <ul>
6406     *   <li>EPSG datum code: <b>6903</b></li>
6407     *   <li>EPSG datum name: <b>Madrid 1870 (Madrid)</b></li>
6408     *   <li>Ellipsoid name: <b>Struve 1860</b></li>
6409     *   <li>Prime meridian name: <b>Madrid</b></li>
6410     *   <li>CRS using the datum: <b>Madrid 1870 (Madrid)</b></li>
6411     * </ul>
6412     *
6413     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6414     */
6415    @Test
6416    public void testMadrid() throws FactoryException {
6417        code              = 6903;
6418        name              = "Madrid 1870 (Madrid)";
6419        crsName           = "Madrid 1870 (Madrid)";
6420        ellipsoidName     = "Struve 1860";
6421        primeMeridianName = "Madrid";
6422        verifyDatum();
6423        createAndVerifyGeographicCRS(4903, GEOGRAPHIC_2D);
6424    }
6425
6426    /**
6427     * Tests “Madzansua” geodetic datum creation from the factory.
6428     *
6429     * <ul>
6430     *   <li>EPSG datum code: <b>6128</b></li>
6431     *   <li>EPSG datum name: <b>Madzansua</b></li>
6432     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
6433     *   <li>Prime meridian name: <b>Greenwich</b></li>
6434     *   <li>CRS using the datum: <b>Madzansua</b></li>
6435     * </ul>
6436     *
6437     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6438     */
6439    @Test
6440    public void testMadzansua() throws FactoryException {
6441        code              = 6128;
6442        name              = "Madzansua";
6443        crsName           = "Madzansua";
6444        ellipsoidName     = "Clarke 1866";
6445        primeMeridianName = "Greenwich";
6446        verifyDatum();
6447        createAndVerifyGeographicCRS(4128, GEOGRAPHIC_2D);
6448    }
6449
6450    /**
6451     * Tests “Mahe 1971” geodetic datum creation from the factory.
6452     *
6453     * <ul>
6454     *   <li>EPSG datum code: <b>6256</b></li>
6455     *   <li>EPSG datum name: <b>Mahe 1971</b></li>
6456     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6457     *   <li>Prime meridian name: <b>Greenwich</b></li>
6458     *   <li>CRS using the datum: <b>Mahe 1971</b></li>
6459     * </ul>
6460     *
6461     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6462     */
6463    @Test
6464    public void testMahe() throws FactoryException {
6465        code              = 6256;
6466        name              = "Mahe 1971";
6467        crsName           = "Mahe 1971";
6468        ellipsoidName     = "Clarke 1880 (RGS)";
6469        primeMeridianName = "Greenwich";
6470        verifyDatum();
6471        createAndVerifyGeographicCRS(4256, GEOGRAPHIC_2D);
6472    }
6473
6474    /**
6475     * Tests “Makassar” geodetic datum creation from the factory.
6476     *
6477     * <ul>
6478     *   <li>EPSG datum code: <b>6257</b></li>
6479     *   <li>EPSG datum name: <b>Makassar</b></li>
6480     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
6481     *   <li>Prime meridian name: <b>Greenwich</b></li>
6482     *   <li>CRS using the datum: <b>Makassar</b></li>
6483     * </ul>
6484     *
6485     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6486     */
6487    @Test
6488    public void testMakassar() throws FactoryException {
6489        code              = 6257;
6490        name              = "Makassar";
6491        crsName           = "Makassar";
6492        ellipsoidName     = "Bessel 1841";
6493        primeMeridianName = "Greenwich";
6494        verifyDatum();
6495        createAndVerifyGeographicCRS(4257, GEOGRAPHIC_2D);
6496    }
6497
6498    /**
6499     * Tests “Makassar (Jakarta)” geodetic datum creation from the factory.
6500     *
6501     * <ul>
6502     *   <li>EPSG datum code: <b>6804</b></li>
6503     *   <li>EPSG datum name: <b>Makassar (Jakarta)</b></li>
6504     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
6505     *   <li>Prime meridian name: <b>Jakarta</b></li>
6506     *   <li>CRS using the datum: <b>Makassar (Jakarta)</b></li>
6507     * </ul>
6508     *
6509     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6510     */
6511    @Test
6512    public void testMakassar_Jakarta() throws FactoryException {
6513        code              = 6804;
6514        name              = "Makassar (Jakarta)";
6515        crsName           = "Makassar (Jakarta)";
6516        ellipsoidName     = "Bessel 1841";
6517        primeMeridianName = "Jakarta";
6518        verifyDatum();
6519        createAndVerifyGeographicCRS(4804, GEOGRAPHIC_2D);
6520    }
6521
6522    /**
6523     * Tests “Marcus Island 1952” geodetic datum creation from the factory.
6524     *
6525     * <ul>
6526     *   <li>EPSG datum code: <b>6711</b></li>
6527     *   <li>EPSG datum name: <b>Marcus Island 1952</b></li>
6528     *   <li>Ellipsoid name: <b>International 1924</b></li>
6529     *   <li>Prime meridian name: <b>Greenwich</b></li>
6530     *   <li>CRS using the datum: <b>Marcus Island 1952</b></li>
6531     * </ul>
6532     *
6533     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6534     */
6535    @Test
6536    public void testMarcusIsland() throws FactoryException {
6537        code              = 6711;
6538        name              = "Marcus Island 1952";
6539        crsName           = "Marcus Island 1952";
6540        ellipsoidName     = "International 1924";
6541        primeMeridianName = "Greenwich";
6542        verifyDatum();
6543        createAndVerifyGeographicCRS(4711, GEOGRAPHIC_2D);
6544    }
6545
6546    /**
6547     * Tests “Marshall Islands 1960” geodetic datum creation from the factory.
6548     *
6549     * <ul>
6550     *   <li>EPSG datum code: <b>6732</b></li>
6551     *   <li>EPSG datum name: <b>Marshall Islands 1960</b></li>
6552     *   <li>Ellipsoid name: <b>Hough 1960</b></li>
6553     *   <li>Prime meridian name: <b>Greenwich</b></li>
6554     *   <li>CRS using the datum: <b>Marshall Islands 1960</b></li>
6555     * </ul>
6556     *
6557     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6558     */
6559    @Test
6560    public void testMarshallIslands() throws FactoryException {
6561        code              = 6732;
6562        name              = "Marshall Islands 1960";
6563        crsName           = "Marshall Islands 1960";
6564        ellipsoidName     = "Hough 1960";
6565        primeMeridianName = "Greenwich";
6566        verifyDatum();
6567        createAndVerifyGeographicCRS(4732, GEOGRAPHIC_2D);
6568    }
6569
6570    /**
6571     * Tests “Martinique 1938” geodetic datum creation from the factory.
6572     *
6573     * <ul>
6574     *   <li>EPSG datum code: <b>6625</b></li>
6575     *   <li>EPSG datum name: <b>Martinique 1938</b></li>
6576     *   <li>Ellipsoid name: <b>International 1924</b></li>
6577     *   <li>Prime meridian name: <b>Greenwich</b></li>
6578     *   <li>CRS using the datum: <b>Martinique 1938</b></li>
6579     * </ul>
6580     *
6581     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6582     */
6583    @Test
6584    public void testMartinique() throws FactoryException {
6585        code              = 6625;
6586        name              = "Martinique 1938";
6587        crsName           = "Martinique 1938";
6588        ellipsoidName     = "International 1924";
6589        primeMeridianName = "Greenwich";
6590        verifyDatum();
6591        createAndVerifyGeographicCRS(4625, GEOGRAPHIC_2D);
6592    }
6593
6594    /**
6595     * Tests “Massawa” geodetic datum creation from the factory.
6596     *
6597     * <ul>
6598     *   <li>EPSG datum code: <b>6262</b></li>
6599     *   <li>EPSG datum name: <b>Massawa</b></li>
6600     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
6601     *   <li>Prime meridian name: <b>Greenwich</b></li>
6602     *   <li>CRS using the datum: <b>Massawa</b></li>
6603     * </ul>
6604     *
6605     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6606     */
6607    @Test
6608    public void testMassawa() throws FactoryException {
6609        code              = 6262;
6610        name              = "Massawa";
6611        crsName           = "Massawa";
6612        ellipsoidName     = "Bessel 1841";
6613        primeMeridianName = "Greenwich";
6614        verifyDatum();
6615        createAndVerifyGeographicCRS(4262, GEOGRAPHIC_2D);
6616    }
6617
6618    /**
6619     * Tests “Maupiti 83” geodetic datum creation from the factory.
6620     *
6621     * <ul>
6622     *   <li>EPSG datum code: <b>6692</b></li>
6623     *   <li>EPSG datum name: <b>Maupiti 83</b></li>
6624     *   <li>Ellipsoid name: <b>International 1924</b></li>
6625     *   <li>Prime meridian name: <b>Greenwich</b></li>
6626     *   <li>CRS using the datum: <b>Maupiti 83</b></li>
6627     * </ul>
6628     *
6629     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6630     */
6631    @Test
6632    public void testMaupiti() throws FactoryException {
6633        code              = 6692;
6634        name              = "Maupiti 83";
6635        crsName           = "Maupiti 83";
6636        ellipsoidName     = "International 1924";
6637        primeMeridianName = "Greenwich";
6638        verifyDatum();
6639        createAndVerifyGeographicCRS(4692, GEOGRAPHIC_2D);
6640    }
6641
6642    /**
6643     * Tests “Merchich” geodetic datum creation from the factory.
6644     *
6645     * <ul>
6646     *   <li>EPSG datum code: <b>6261</b></li>
6647     *   <li>EPSG datum name: <b>Merchich</b></li>
6648     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
6649     *   <li>Prime meridian name: <b>Greenwich</b></li>
6650     *   <li>CRS using the datum: <b>Merchich</b></li>
6651     * </ul>
6652     *
6653     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6654     */
6655    @Test
6656    public void testMerchich() throws FactoryException {
6657        code              = 6261;
6658        name              = "Merchich";
6659        crsName           = "Merchich";
6660        ellipsoidName     = "Clarke 1880 (IGN)";
6661        primeMeridianName = "Greenwich";
6662        verifyDatum();
6663        createAndVerifyGeographicCRS(4261, GEOGRAPHIC_2D);
6664    }
6665
6666    /**
6667     * Tests “Missao Hidrografico Angola y Sao Tome 1951” geodetic datum creation from the factory.
6668     *
6669     * <ul>
6670     *   <li>EPSG datum code: <b>6703</b></li>
6671     *   <li>EPSG datum name: <b>Missao Hidrografico Angola y Sao Tome 1951</b></li>
6672     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6673     *   <li>Prime meridian name: <b>Greenwich</b></li>
6674     *   <li>CRS using the datum: <b>Mhast 1951</b></li>
6675     * </ul>
6676     *
6677     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6678     */
6679    @Test
6680    public void testMhast() throws FactoryException {
6681        code              = 6703;
6682        name              = "Missao Hidrografico Angola y Sao Tome 1951";
6683        crsName           = "Mhast 1951";
6684        ellipsoidName     = "Clarke 1880 (RGS)";
6685        primeMeridianName = "Greenwich";
6686        verifyDatum();
6687        createAndVerifyGeographicCRS(4703, GEOGRAPHIC_2D);
6688    }
6689
6690    /**
6691     * Tests “Midway 1961” geodetic datum creation from the factory.
6692     *
6693     * <ul>
6694     *   <li>EPSG datum code: <b>6727</b></li>
6695     *   <li>EPSG datum name: <b>Midway 1961</b></li>
6696     *   <li>Ellipsoid name: <b>International 1924</b></li>
6697     *   <li>Prime meridian name: <b>Greenwich</b></li>
6698     *   <li>CRS using the datum: <b>Midway 1961</b></li>
6699     * </ul>
6700     *
6701     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6702     */
6703    @Test
6704    public void testMidway() throws FactoryException {
6705        code              = 6727;
6706        name              = "Midway 1961";
6707        crsName           = "Midway 1961";
6708        ellipsoidName     = "International 1924";
6709        primeMeridianName = "Greenwich";
6710        verifyDatum();
6711        createAndVerifyGeographicCRS(4727, GEOGRAPHIC_2D);
6712    }
6713
6714    /**
6715     * Tests “Monte Mario (Rome)” geodetic datum creation from the factory.
6716     *
6717     * <ul>
6718     *   <li>EPSG datum code: <b>6806</b></li>
6719     *   <li>EPSG datum name: <b>Monte Mario (Rome)</b></li>
6720     *   <li>Ellipsoid name: <b>International 1924</b></li>
6721     *   <li>Prime meridian name: <b>Rome</b></li>
6722     *   <li>CRS using the datum: <b>Monte Mario (Rome)</b></li>
6723     * </ul>
6724     *
6725     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6726     */
6727    @Test
6728    public void testMonteMario_Rome() throws FactoryException {
6729        code              = 6806;
6730        name              = "Monte Mario (Rome)";
6731        crsName           = "Monte Mario (Rome)";
6732        ellipsoidName     = "International 1924";
6733        primeMeridianName = "Rome";
6734        verifyDatum();
6735        createAndVerifyGeographicCRS(4806, GEOGRAPHIC_2D);
6736    }
6737
6738    /**
6739     * Tests “Montserrat 1958” geodetic datum creation from the factory.
6740     *
6741     * <ul>
6742     *   <li>EPSG datum code: <b>6604</b></li>
6743     *   <li>EPSG datum name: <b>Montserrat 1958</b></li>
6744     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6745     *   <li>Prime meridian name: <b>Greenwich</b></li>
6746     *   <li>CRS using the datum: <b>Montserrat 1958</b></li>
6747     * </ul>
6748     *
6749     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6750     */
6751    @Test
6752    public void testMontserrat() throws FactoryException {
6753        code              = 6604;
6754        name              = "Montserrat 1958";
6755        crsName           = "Montserrat 1958";
6756        ellipsoidName     = "Clarke 1880 (RGS)";
6757        primeMeridianName = "Greenwich";
6758        verifyDatum();
6759        createAndVerifyGeographicCRS(4604, GEOGRAPHIC_2D);
6760    }
6761
6762    /**
6763     * Tests “Moorea 87” geodetic datum creation from the factory.
6764     *
6765     * <ul>
6766     *   <li>EPSG datum code: <b>6691</b></li>
6767     *   <li>EPSG datum name: <b>Moorea 87</b></li>
6768     *   <li>Ellipsoid name: <b>International 1924</b></li>
6769     *   <li>Prime meridian name: <b>Greenwich</b></li>
6770     *   <li>CRS using the datum: <b>Moorea 87</b></li>
6771     * </ul>
6772     *
6773     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6774     */
6775    @Test
6776    public void testMoorea() throws FactoryException {
6777        code              = 6691;
6778        name              = "Moorea 87";
6779        crsName           = "Moorea 87";
6780        ellipsoidName     = "International 1924";
6781        primeMeridianName = "Greenwich";
6782        verifyDatum();
6783        createAndVerifyGeographicCRS(4691, GEOGRAPHIC_2D);
6784    }
6785
6786    /**
6787     * Tests “MOP78” geodetic datum creation from the factory.
6788     *
6789     * <ul>
6790     *   <li>EPSG datum code: <b>6639</b></li>
6791     *   <li>EPSG datum name: <b>MOP78</b></li>
6792     *   <li>Ellipsoid name: <b>International 1924</b></li>
6793     *   <li>Prime meridian name: <b>Greenwich</b></li>
6794     *   <li>CRS using the datum: <b>MOP78</b></li>
6795     * </ul>
6796     *
6797     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6798     */
6799    @Test
6800    public void testMOP78() throws FactoryException {
6801        code              = 6639;
6802        name              = "MOP78";
6803        crsName           = "MOP78";
6804        ellipsoidName     = "International 1924";
6805        primeMeridianName = "Greenwich";
6806        verifyDatum();
6807        createAndVerifyGeographicCRS(4639, GEOGRAPHIC_2D);
6808    }
6809
6810    /**
6811     * Tests “Mount Dillon” geodetic datum creation from the factory.
6812     *
6813     * <ul>
6814     *   <li>EPSG datum code: <b>6157</b></li>
6815     *   <li>EPSG datum name: <b>Mount Dillon</b></li>
6816     *   <li>Ellipsoid name: <b>Clarke 1858</b></li>
6817     *   <li>Prime meridian name: <b>Greenwich</b></li>
6818     *   <li>CRS using the datum: <b>Mount Dillon</b></li>
6819     * </ul>
6820     *
6821     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6822     */
6823    @Test
6824    public void testMountDillon() throws FactoryException {
6825        code              = 6157;
6826        name              = "Mount Dillon";
6827        crsName           = "Mount Dillon";
6828        ellipsoidName     = "Clarke 1858";
6829        primeMeridianName = "Greenwich";
6830        verifyDatum();
6831        createAndVerifyGeographicCRS(4157, GEOGRAPHIC_2D);
6832    }
6833
6834    /**
6835     * Tests “Moznet (ITRF94)” geodetic datum creation from the factory.
6836     *
6837     * <ul>
6838     *   <li>EPSG datum code: <b>6130</b></li>
6839     *   <li>EPSG datum name: <b>Moznet (ITRF94)</b></li>
6840     *   <li>Ellipsoid name: <b>WGS 84</b></li>
6841     *   <li>Prime meridian name: <b>Greenwich</b></li>
6842     *   <li>CRS using the datum: <b>Moznet</b></li>
6843     * </ul>
6844     *
6845     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6846     */
6847    @Test
6848    public void testMoznet() throws FactoryException {
6849        code              = 6130;
6850        name              = "Moznet (ITRF94)";
6851        crsName           = "Moznet";
6852        ellipsoidName     = "WGS 84";
6853        primeMeridianName = "Greenwich";
6854        verifyDatum();
6855        createAndVerifyGeographicCRS(4130, GEOGRAPHIC_2D);
6856    }
6857
6858    /**
6859     * Tests “North American Datum 1927 (1976)” geodetic datum creation from the factory.
6860     *
6861     * <ul>
6862     *   <li>EPSG datum code: <b>6608</b></li>
6863     *   <li>EPSG datum name: <b>North American Datum 1927 (1976)</b></li>
6864     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
6865     *   <li>Prime meridian name: <b>Greenwich</b></li>
6866     *   <li>CRS using the datum: <b>NAD27(76)</b></li>
6867     * </ul>
6868     *
6869     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6870     */
6871    @Test
6872    public void testNAD27_76() throws FactoryException {
6873        code              = 6608;
6874        name              = "North American Datum 1927 (1976)";
6875        crsName           = "NAD27(76)";
6876        ellipsoidName     = "Clarke 1866";
6877        primeMeridianName = "Greenwich";
6878        verifyDatum();
6879        createAndVerifyGeographicCRS(4608, GEOGRAPHIC_2D);
6880    }
6881
6882    /**
6883     * Tests “North American Datum 1927 (CGQ77)” geodetic datum creation from the factory.
6884     *
6885     * <ul>
6886     *   <li>EPSG datum code: <b>6609</b></li>
6887     *   <li>EPSG datum name: <b>North American Datum 1927 (CGQ77)</b></li>
6888     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
6889     *   <li>Prime meridian name: <b>Greenwich</b></li>
6890     *   <li>CRS using the datum: <b>NAD27(CGQ77)</b></li>
6891     * </ul>
6892     *
6893     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6894     */
6895    @Test
6896    public void testNAD27_CGQ77() throws FactoryException {
6897        code              = 6609;
6898        name              = "North American Datum 1927 (CGQ77)";
6899        crsName           = "NAD27(CGQ77)";
6900        ellipsoidName     = "Clarke 1866";
6901        primeMeridianName = "Greenwich";
6902        verifyDatum();
6903        createAndVerifyGeographicCRS(4609, GEOGRAPHIC_2D);
6904    }
6905
6906    /**
6907     * Tests “Nahrwan 1934” geodetic datum creation from the factory.
6908     *
6909     * <ul>
6910     *   <li>EPSG datum code: <b>6744</b></li>
6911     *   <li>EPSG datum name: <b>Nahrwan 1934</b></li>
6912     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
6913     *   <li>Prime meridian name: <b>Greenwich</b></li>
6914     *   <li>CRS using the datum: <b>Nahrwan 1934</b></li>
6915     * </ul>
6916     *
6917     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6918     */
6919    @Test
6920    public void testNahrwan1934() throws FactoryException {
6921        code              = 6744;
6922        name              = "Nahrwan 1934";
6923        crsName           = "Nahrwan 1934";
6924        ellipsoidName     = "Clarke 1880 (RGS)";
6925        primeMeridianName = "Greenwich";
6926        verifyDatum();
6927        createAndVerifyGeographicCRS(4744, GEOGRAPHIC_2D);
6928    }
6929
6930    /**
6931     * Tests “Nakhl-e Ghanem” geodetic datum creation from the factory.
6932     *
6933     * <ul>
6934     *   <li>EPSG datum code: <b>6693</b></li>
6935     *   <li>EPSG datum name: <b>Nakhl-e Ghanem</b></li>
6936     *   <li>Ellipsoid name: <b>WGS 84</b></li>
6937     *   <li>Prime meridian name: <b>Greenwich</b></li>
6938     *   <li>CRS using the datum: <b>Nakhl-e Ghanem</b></li>
6939     * </ul>
6940     *
6941     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6942     */
6943    @Test
6944    public void testNakhlEGhanem() throws FactoryException {
6945        code              = 6693;
6946        name              = "Nakhl-e Ghanem";
6947        crsName           = "Nakhl-e Ghanem";
6948        ellipsoidName     = "WGS 84";
6949        primeMeridianName = "Greenwich";
6950        verifyDatum();
6951        createAndVerifyGeographicCRS(4693, GEOGRAPHIC_2D);
6952    }
6953
6954    /**
6955     * Tests “Naparima 1972” geodetic datum creation from the factory.
6956     *
6957     * <ul>
6958     *   <li>EPSG datum code: <b>6271</b></li>
6959     *   <li>EPSG datum name: <b>Naparima 1972</b></li>
6960     *   <li>Ellipsoid name: <b>International 1924</b></li>
6961     *   <li>Prime meridian name: <b>Greenwich</b></li>
6962     *   <li>CRS using the datum: <b>Naparima 1972</b></li>
6963     *   <li>Specific usage / Remarks: <b>Often confused with Naparima 1955.</b></li>
6964     * </ul>
6965     *
6966     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6967     */
6968    @Test
6969    public void testNaparima1972() throws FactoryException {
6970        code              = 6271;
6971        name              = "Naparima 1972";
6972        crsName           = "Naparima 1972";
6973        ellipsoidName     = "International 1924";
6974        primeMeridianName = "Greenwich";
6975        verifyDatum();
6976        createAndVerifyGeographicCRS(4271, GEOGRAPHIC_2D);
6977    }
6978
6979    /**
6980     * Tests “NEA74 Noumea” geodetic datum creation from the factory.
6981     *
6982     * <ul>
6983     *   <li>EPSG datum code: <b>6644</b></li>
6984     *   <li>EPSG datum name: <b>NEA74 Noumea</b></li>
6985     *   <li>Ellipsoid name: <b>International 1924</b></li>
6986     *   <li>Prime meridian name: <b>Greenwich</b></li>
6987     *   <li>CRS using the datum: <b>NEA74 Noumea</b></li>
6988     * </ul>
6989     *
6990     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
6991     */
6992    @Test
6993    public void testNoumea() throws FactoryException {
6994        code              = 6644;
6995        name              = "NEA74 Noumea";
6996        crsName           = "NEA74 Noumea";
6997        ellipsoidName     = "International 1924";
6998        primeMeridianName = "Greenwich";
6999        verifyDatum();
7000        createAndVerifyGeographicCRS(4644, GEOGRAPHIC_2D);
7001    }
7002
7003    /**
7004     * Tests “National Geodetic Network” geodetic datum creation from the factory.
7005     *
7006     * <ul>
7007     *   <li>EPSG datum code: <b>6318</b></li>
7008     *   <li>EPSG datum name: <b>National Geodetic Network</b></li>
7009     *   <li>Ellipsoid name: <b>WGS 84</b></li>
7010     *   <li>Prime meridian name: <b>Greenwich</b></li>
7011     *   <li>CRS using the datum: <b>NGN</b></li>
7012     * </ul>
7013     *
7014     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7015     */
7016    @Test
7017    public void testNGN() throws FactoryException {
7018        code              = 6318;
7019        name              = "National Geodetic Network";
7020        crsName           = "NGN";
7021        ellipsoidName     = "WGS 84";
7022        primeMeridianName = "Greenwich";
7023        verifyDatum();
7024        createAndVerifyGeographicCRS(4318, GEOGRAPHIC_2D);
7025    }
7026
7027    /**
7028     * Tests “NGO 1948” geodetic datum creation from the factory.
7029     *
7030     * <ul>
7031     *   <li>EPSG datum code: <b>6273</b></li>
7032     *   <li>EPSG datum name: <b>NGO 1948</b></li>
7033     *   <li>Ellipsoid name: <b>Bessel Modified</b></li>
7034     *   <li>Prime meridian name: <b>Greenwich</b></li>
7035     *   <li>CRS using the datum: <b>NGO 1948</b></li>
7036     * </ul>
7037     *
7038     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7039     */
7040    @Test
7041    public void testNGO1948() throws FactoryException {
7042        code              = 6273;
7043        name              = "NGO 1948";
7044        crsName           = "NGO 1948";
7045        ellipsoidName     = "Bessel Modified";
7046        primeMeridianName = "Greenwich";
7047        verifyDatum();
7048        createAndVerifyGeographicCRS(4273, GEOGRAPHIC_2D);
7049    }
7050
7051    /**
7052     * Tests “NGO 1948 (Oslo)” geodetic datum creation from the factory.
7053     *
7054     * <ul>
7055     *   <li>EPSG datum code: <b>6817</b></li>
7056     *   <li>EPSG datum name: <b>NGO 1948 (Oslo)</b></li>
7057     *   <li>Ellipsoid name: <b>Bessel Modified</b></li>
7058     *   <li>Prime meridian name: <b>Oslo</b></li>
7059     *   <li>CRS using the datum: <b>NGO 1948 (Oslo)</b></li>
7060     * </ul>
7061     *
7062     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7063     */
7064    @Test
7065    public void testNGO1948_Oslo() throws FactoryException {
7066        code              = 6817;
7067        name              = "NGO 1948 (Oslo)";
7068        crsName           = "NGO 1948 (Oslo)";
7069        ellipsoidName     = "Bessel Modified";
7070        primeMeridianName = "Oslo";
7071        verifyDatum();
7072        createAndVerifyGeographicCRS(4817, GEOGRAPHIC_2D);
7073    }
7074
7075    /**
7076     * Tests “Nouakchott 1965” geodetic datum creation from the factory.
7077     *
7078     * <ul>
7079     *   <li>EPSG datum code: <b>6680</b></li>
7080     *   <li>EPSG datum name: <b>Nouakchott 1965</b></li>
7081     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
7082     *   <li>Prime meridian name: <b>Greenwich</b></li>
7083     *   <li>CRS using the datum: <b>Nouakchott 1965</b></li>
7084     * </ul>
7085     *
7086     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7087     */
7088    @Test
7089    public void testNouakchott() throws FactoryException {
7090        code              = 6680;
7091        name              = "Nouakchott 1965";
7092        crsName           = "Nouakchott 1965";
7093        ellipsoidName     = "Clarke 1880 (RGS)";
7094        primeMeridianName = "Greenwich";
7095        verifyDatum();
7096        createAndVerifyGeographicCRS(4680, GEOGRAPHIC_2D);
7097    }
7098
7099    /**
7100     * Tests “NSWC 9Z-2” geodetic datum creation from the factory.
7101     *
7102     * <ul>
7103     *   <li>EPSG datum code: <b>6276</b></li>
7104     *   <li>EPSG datum name: <b>NSWC 9Z-2</b></li>
7105     *   <li>Ellipsoid name: <b>NWL 9D</b></li>
7106     *   <li>Prime meridian name: <b>Greenwich</b></li>
7107     *   <li>CRS using the datum: <b>NSWC 9Z-2</b></li>
7108     * </ul>
7109     *
7110     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7111     */
7112    @Test
7113    public void testNSWC9Z2() throws FactoryException {
7114        code              = 6276;
7115        name              = "NSWC 9Z-2";
7116        crsName           = "NSWC 9Z-2";
7117        ellipsoidName     = "NWL 9D";
7118        primeMeridianName = "Greenwich";
7119        verifyDatum();
7120        createAndVerifyGeographicCRS(4276, GEOGRAPHIC_2D);
7121    }
7122
7123    /**
7124     * Tests “Observatario” geodetic datum creation from the factory.
7125     *
7126     * <ul>
7127     *   <li>EPSG datum code: <b>6129</b></li>
7128     *   <li>EPSG datum name: <b>Observatario</b></li>
7129     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
7130     *   <li>Prime meridian name: <b>Greenwich</b></li>
7131     *   <li>CRS using the datum: <b>Observatario</b></li>
7132     * </ul>
7133     *
7134     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7135     */
7136    @Test
7137    public void testObservatario() throws FactoryException {
7138        code              = 6129;
7139        name              = "Observatario";
7140        crsName           = "Observatario";
7141        ellipsoidName     = "Clarke 1866";
7142        primeMeridianName = "Greenwich";
7143        verifyDatum();
7144        createAndVerifyGeographicCRS(4129, GEOGRAPHIC_2D);
7145    }
7146
7147    /**
7148     * Tests “Old Hawaiian” geodetic datum creation from the factory.
7149     *
7150     * <ul>
7151     *   <li>EPSG datum code: <b>6135</b></li>
7152     *   <li>EPSG datum name: <b>Old Hawaiian</b></li>
7153     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
7154     *   <li>Prime meridian name: <b>Greenwich</b></li>
7155     *   <li>CRS using the datum: <b>Old Hawaiian</b></li>
7156     * </ul>
7157     *
7158     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7159     */
7160    @Test
7161    public void testOldHawaiian() throws FactoryException {
7162        code              = 6135;
7163        name              = "Old Hawaiian";
7164        crsName           = "Old Hawaiian";
7165        ellipsoidName     = "Clarke 1866";
7166        primeMeridianName = "Greenwich";
7167        verifyDatum();
7168        createAndVerifyGeographicCRS(4135, GEOGRAPHIC_2D);
7169    }
7170
7171    /**
7172     * Tests “OS (SN) 1980” geodetic datum creation from the factory.
7173     *
7174     * <ul>
7175     *   <li>EPSG datum code: <b>6279</b></li>
7176     *   <li>EPSG datum name: <b>OS (SN) 1980</b></li>
7177     *   <li>Ellipsoid name: <b>Airy 1830</b></li>
7178     *   <li>Prime meridian name: <b>Greenwich</b></li>
7179     *   <li>CRS using the datum: <b>OS(SN)80</b></li>
7180     * </ul>
7181     *
7182     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7183     */
7184    @Test
7185    public void testOS_SN_80() throws FactoryException {
7186        code              = 6279;
7187        name              = "OS (SN) 1980";
7188        crsName           = "OS(SN)80";
7189        ellipsoidName     = "Airy 1830";
7190        primeMeridianName = "Greenwich";
7191        verifyDatum();
7192        createAndVerifyGeographicCRS(4279, GEOGRAPHIC_2D);
7193    }
7194
7195    /**
7196     * Tests “OSGB 1970 (SN)” geodetic datum creation from the factory.
7197     *
7198     * <ul>
7199     *   <li>EPSG datum code: <b>6278</b></li>
7200     *   <li>EPSG datum name: <b>OSGB 1970 (SN)</b></li>
7201     *   <li>Ellipsoid name: <b>Airy 1830</b></li>
7202     *   <li>Prime meridian name: <b>Greenwich</b></li>
7203     *   <li>CRS using the datum: <b>OSGB70</b></li>
7204     * </ul>
7205     *
7206     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7207     */
7208    @Test
7209    public void testOSGB70() throws FactoryException {
7210        code              = 6278;
7211        name              = "OSGB 1970 (SN)";
7212        crsName           = "OSGB70";
7213        ellipsoidName     = "Airy 1830";
7214        primeMeridianName = "Greenwich";
7215        verifyDatum();
7216        createAndVerifyGeographicCRS(4278, GEOGRAPHIC_2D);
7217    }
7218
7219    /**
7220     * Tests “OSNI 1952” geodetic datum creation from the factory.
7221     *
7222     * <ul>
7223     *   <li>EPSG datum code: <b>6188</b></li>
7224     *   <li>EPSG datum name: <b>OSNI 1952</b></li>
7225     *   <li>Ellipsoid name: <b>Airy 1830</b></li>
7226     *   <li>Prime meridian name: <b>Greenwich</b></li>
7227     *   <li>CRS using the datum: <b>OSNI 1952</b></li>
7228     * </ul>
7229     *
7230     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7231     */
7232    @Test
7233    public void testOSNI1952() throws FactoryException {
7234        code              = 6188;
7235        name              = "OSNI 1952";
7236        crsName           = "OSNI 1952";
7237        ellipsoidName     = "Airy 1830";
7238        primeMeridianName = "Greenwich";
7239        verifyDatum();
7240        createAndVerifyGeographicCRS(4188, GEOGRAPHIC_2D);
7241    }
7242
7243    /**
7244     * Tests “Palestine 1923” geodetic datum creation from the factory.
7245     *
7246     * <ul>
7247     *   <li>EPSG datum code: <b>6281</b></li>
7248     *   <li>EPSG datum name: <b>Palestine 1923</b></li>
7249     *   <li>Ellipsoid name: <b>Clarke 1880 (Benoit)</b></li>
7250     *   <li>Prime meridian name: <b>Greenwich</b></li>
7251     *   <li>CRS using the datum: <b>Palestine 1923</b></li>
7252     * </ul>
7253     *
7254     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7255     */
7256    @Test
7257    public void testPalestine() throws FactoryException {
7258        code              = 6281;
7259        name              = "Palestine 1923";
7260        crsName           = "Palestine 1923";
7261        ellipsoidName     = "Clarke 1880 (Benoit)";
7262        primeMeridianName = "Greenwich";
7263        verifyDatum();
7264        createAndVerifyGeographicCRS(4281, GEOGRAPHIC_2D);
7265    }
7266
7267    /**
7268     * Tests “Pampa del Castillo” geodetic datum creation from the factory.
7269     *
7270     * <ul>
7271     *   <li>EPSG datum code: <b>6161</b></li>
7272     *   <li>EPSG datum name: <b>Pampa del Castillo</b></li>
7273     *   <li>Ellipsoid name: <b>International 1924</b></li>
7274     *   <li>Prime meridian name: <b>Greenwich</b></li>
7275     *   <li>CRS using the datum: <b>Pampa del Castillo</b></li>
7276     * </ul>
7277     *
7278     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7279     */
7280    @Test
7281    public void testPampaDelCastillo() throws FactoryException {
7282        code              = 6161;
7283        name              = "Pampa del Castillo";
7284        crsName           = "Pampa del Castillo";
7285        ellipsoidName     = "International 1924";
7286        primeMeridianName = "Greenwich";
7287        verifyDatum();
7288        createAndVerifyGeographicCRS(4161, GEOGRAPHIC_2D);
7289    }
7290
7291    /**
7292     * Tests “Potsdam Datum/83” geodetic datum creation from the factory.
7293     *
7294     * <ul>
7295     *   <li>EPSG datum code: <b>6746</b></li>
7296     *   <li>EPSG datum name: <b>Potsdam Datum/83</b></li>
7297     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
7298     *   <li>Prime meridian name: <b>Greenwich</b></li>
7299     *   <li>CRS using the datum: <b>PD/83</b></li>
7300     * </ul>
7301     *
7302     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7303     */
7304    @Test
7305    public void testPD83() throws FactoryException {
7306        code              = 6746;
7307        name              = "Potsdam Datum/83";
7308        crsName           = "PD/83";
7309        ellipsoidName     = "Bessel 1841";
7310        primeMeridianName = "Greenwich";
7311        verifyDatum();
7312        createAndVerifyGeographicCRS(4746, GEOGRAPHIC_2D);
7313    }
7314
7315    /**
7316     * Tests “Pointe Geologie Perroud 1950” geodetic datum creation from the factory.
7317     *
7318     * <ul>
7319     *   <li>EPSG datum code: <b>6637</b></li>
7320     *   <li>EPSG datum name: <b>Pointe Geologie Perroud 1950</b></li>
7321     *   <li>Ellipsoid name: <b>International 1924</b></li>
7322     *   <li>Prime meridian name: <b>Greenwich</b></li>
7323     *   <li>CRS using the datum: <b>Perroud 1950</b></li>
7324     * </ul>
7325     *
7326     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7327     */
7328    @Test
7329    public void testPerroud() throws FactoryException {
7330        code              = 6637;
7331        name              = "Pointe Geologie Perroud 1950";
7332        crsName           = "Perroud 1950";
7333        ellipsoidName     = "International 1924";
7334        primeMeridianName = "Greenwich";
7335        verifyDatum();
7336        createAndVerifyGeographicCRS(4637, GEOGRAPHIC_2D);
7337    }
7338
7339    /**
7340     * Tests “Petrels 1972” geodetic datum creation from the factory.
7341     *
7342     * <ul>
7343     *   <li>EPSG datum code: <b>6636</b></li>
7344     *   <li>EPSG datum name: <b>Petrels 1972</b></li>
7345     *   <li>Ellipsoid name: <b>International 1924</b></li>
7346     *   <li>Prime meridian name: <b>Greenwich</b></li>
7347     *   <li>CRS using the datum: <b>Petrels 1972</b></li>
7348     * </ul>
7349     *
7350     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7351     */
7352    @Test
7353    public void testPetrels() throws FactoryException {
7354        code              = 6636;
7355        name              = "Petrels 1972";
7356        crsName           = "Petrels 1972";
7357        ellipsoidName     = "International 1924";
7358        primeMeridianName = "Greenwich";
7359        verifyDatum();
7360        createAndVerifyGeographicCRS(4636, GEOGRAPHIC_2D);
7361    }
7362
7363    /**
7364     * Tests “Phoenix Islands 1966” geodetic datum creation from the factory.
7365     *
7366     * <ul>
7367     *   <li>EPSG datum code: <b>6716</b></li>
7368     *   <li>EPSG datum name: <b>Phoenix Islands 1966</b></li>
7369     *   <li>Ellipsoid name: <b>International 1924</b></li>
7370     *   <li>Prime meridian name: <b>Greenwich</b></li>
7371     *   <li>CRS using the datum: <b>Phoenix Islands 1966</b></li>
7372     * </ul>
7373     *
7374     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7375     */
7376    @Test
7377    public void testPhoenixIslands() throws FactoryException {
7378        code              = 6716;
7379        name              = "Phoenix Islands 1966";
7380        crsName           = "Phoenix Islands 1966";
7381        ellipsoidName     = "International 1924";
7382        primeMeridianName = "Greenwich";
7383        verifyDatum();
7384        createAndVerifyGeographicCRS(4716, GEOGRAPHIC_2D);
7385    }
7386
7387    /**
7388     * Tests “Pico de las Nieves 1984” geodetic datum creation from the factory.
7389     *
7390     * <ul>
7391     *   <li>EPSG datum code: <b>6728</b></li>
7392     *   <li>EPSG datum name: <b>Pico de las Nieves 1984</b></li>
7393     *   <li>Ellipsoid name: <b>International 1924</b></li>
7394     *   <li>Prime meridian name: <b>Greenwich</b></li>
7395     *   <li>CRS using the datum: <b>Pico de las Nieves 1984</b></li>
7396     * </ul>
7397     *
7398     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7399     */
7400    @Test
7401    public void testPicoDeLasNieves() throws FactoryException {
7402        code              = 6728;
7403        name              = "Pico de las Nieves 1984";
7404        crsName           = "Pico de las Nieves 1984";
7405        ellipsoidName     = "International 1924";
7406        primeMeridianName = "Greenwich";
7407        verifyDatum();
7408        createAndVerifyGeographicCRS(4728, GEOGRAPHIC_2D);
7409    }
7410
7411    /**
7412     * Tests “Pitcairn 1967” geodetic datum creation from the factory.
7413     *
7414     * <ul>
7415     *   <li>EPSG datum code: <b>6729</b></li>
7416     *   <li>EPSG datum name: <b>Pitcairn 1967</b></li>
7417     *   <li>Ellipsoid name: <b>International 1924</b></li>
7418     *   <li>Prime meridian name: <b>Greenwich</b></li>
7419     *   <li>CRS using the datum: <b>Pitcairn 1967</b></li>
7420     * </ul>
7421     *
7422     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7423     */
7424    @Test
7425    public void testPitcairn1967() throws FactoryException {
7426        code              = 6729;
7427        name              = "Pitcairn 1967";
7428        crsName           = "Pitcairn 1967";
7429        ellipsoidName     = "International 1924";
7430        primeMeridianName = "Greenwich";
7431        verifyDatum();
7432        createAndVerifyGeographicCRS(4729, GEOGRAPHIC_2D);
7433    }
7434
7435    /**
7436     * Tests “Pitcairn 2006” geodetic datum creation from the factory.
7437     *
7438     * <ul>
7439     *   <li>EPSG datum code: <b>6763</b></li>
7440     *   <li>EPSG datum name: <b>Pitcairn 2006</b></li>
7441     *   <li>Ellipsoid name: <b>WGS 84</b></li>
7442     *   <li>Prime meridian name: <b>Greenwich</b></li>
7443     *   <li>CRS using the datum: <b>Pitcairn 2006</b></li>
7444     * </ul>
7445     *
7446     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7447     */
7448    @Test
7449    public void testPitcairn2006() throws FactoryException {
7450        code              = 6763;
7451        name              = "Pitcairn 2006";
7452        crsName           = "Pitcairn 2006";
7453        ellipsoidName     = "WGS 84";
7454        primeMeridianName = "Greenwich";
7455        verifyDatum();
7456        createAndVerifyGeographicCRS(4763, GEOGRAPHIC_2D);
7457    }
7458
7459    /**
7460     * Tests “Point 58” geodetic datum creation from the factory.
7461     *
7462     * <ul>
7463     *   <li>EPSG datum code: <b>6620</b></li>
7464     *   <li>EPSG datum name: <b>Point 58</b></li>
7465     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
7466     *   <li>Prime meridian name: <b>Greenwich</b></li>
7467     *   <li>CRS using the datum: <b>Point 58</b></li>
7468     * </ul>
7469     *
7470     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7471     */
7472    @Test
7473    public void testPoint58() throws FactoryException {
7474        code              = 6620;
7475        name              = "Point 58";
7476        crsName           = "Point 58";
7477        ellipsoidName     = "Clarke 1880 (RGS)";
7478        primeMeridianName = "Greenwich";
7479        verifyDatum();
7480        createAndVerifyGeographicCRS(4620, GEOGRAPHIC_2D);
7481    }
7482
7483    /**
7484     * Tests “Popular Visualisation Datum” geodetic datum creation from the factory <em>(deprecated)</em>.
7485     * This is test is executed only if {@link #isDeprecatedObjectCreationSupported} is {@code true}.
7486     *
7487     * <ul>
7488     *   <li>EPSG datum code: <b>6055</b></li>
7489     *   <li>EPSG datum name: <b>Popular Visualisation Datum</b></li>
7490     *   <li>Ellipsoid name: <b>Popular Visualisation Sphere</b></li>
7491     *   <li>Prime meridian name: <b>Greenwich</b></li>
7492     *   <li>CRS using the datum: <b>Popular Visualisation CRS</b></li>
7493     *   <li><b>Deprecated:</b> OGP revised its approach to description of Popular Visualisation CRS.</li>
7494     * </ul>
7495     *
7496     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7497     */
7498    @Test
7499    public void testPopularVisualisation() throws FactoryException {
7500        code              = 6055;
7501        name              = "Popular Visualisation Datum";
7502        crsName           = "Popular Visualisation CRS";
7503        ellipsoidName     = "Popular Visualisation Sphere";
7504        primeMeridianName = "Greenwich";
7505        assumeTrue("Creation of deprecated objects not supported.", isDeprecatedObjectCreationSupported);
7506        verifyDatum();
7507        createAndVerifyGeographicCRS(4055, GEOGRAPHIC_2D);
7508    }
7509
7510    /**
7511     * Tests “Porto Santo 1936” geodetic datum creation from the factory.
7512     *
7513     * <ul>
7514     *   <li>EPSG datum code: <b>6615</b></li>
7515     *   <li>EPSG datum name: <b>Porto Santo 1936</b></li>
7516     *   <li>Ellipsoid name: <b>International 1924</b></li>
7517     *   <li>Prime meridian name: <b>Greenwich</b></li>
7518     *   <li>CRS using the datum: <b>Porto Santo</b></li>
7519     * </ul>
7520     *
7521     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7522     */
7523    @Test
7524    public void testPortoSanto1936() throws FactoryException {
7525        code              = 6615;
7526        name              = "Porto Santo 1936";
7527        crsName           = "Porto Santo";
7528        ellipsoidName     = "International 1924";
7529        primeMeridianName = "Greenwich";
7530        verifyDatum();
7531        createAndVerifyGeographicCRS(4615, GEOGRAPHIC_2D);
7532    }
7533
7534    /**
7535     * Tests “Porto Santo 1995” geodetic datum creation from the factory.
7536     *
7537     * <ul>
7538     *   <li>EPSG datum code: <b>6663</b></li>
7539     *   <li>EPSG datum name: <b>Porto Santo 1995</b></li>
7540     *   <li>Ellipsoid name: <b>International 1924</b></li>
7541     *   <li>Prime meridian name: <b>Greenwich</b></li>
7542     *   <li>CRS using the datum: <b>Porto Santo 1995</b></li>
7543     * </ul>
7544     *
7545     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7546     */
7547    @Test
7548    public void testPortoSanto1995() throws FactoryException {
7549        code              = 6663;
7550        name              = "Porto Santo 1995";
7551        crsName           = "Porto Santo 1995";
7552        ellipsoidName     = "International 1924";
7553        primeMeridianName = "Greenwich";
7554        verifyDatum();
7555        createAndVerifyGeographicCRS(4663, GEOGRAPHIC_2D);
7556    }
7557
7558    /**
7559     * Tests “Puerto Rico” geodetic datum creation from the factory.
7560     *
7561     * <ul>
7562     *   <li>EPSG datum code: <b>6139</b></li>
7563     *   <li>EPSG datum name: <b>Puerto Rico</b></li>
7564     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
7565     *   <li>Prime meridian name: <b>Greenwich</b></li>
7566     *   <li>CRS using the datum: <b>Puerto Rico</b></li>
7567     * </ul>
7568     *
7569     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7570     */
7571    @Test
7572    public void testPuertoRico() throws FactoryException {
7573        code              = 6139;
7574        name              = "Puerto Rico";
7575        crsName           = "Puerto Rico";
7576        ellipsoidName     = "Clarke 1866";
7577        primeMeridianName = "Greenwich";
7578        verifyDatum();
7579        createAndVerifyGeographicCRS(4139, GEOGRAPHIC_2D);
7580    }
7581
7582    /**
7583     * Tests “Pulkovo 1995” geodetic datum creation from the factory.
7584     *
7585     * <ul>
7586     *   <li>EPSG datum code: <b>6200</b></li>
7587     *   <li>EPSG datum name: <b>Pulkovo 1995</b></li>
7588     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
7589     *   <li>Prime meridian name: <b>Greenwich</b></li>
7590     *   <li>CRS using the datum: <b>Pulkovo 1995</b></li>
7591     * </ul>
7592     *
7593     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7594     */
7595    @Test
7596    public void testPulkovo1995() throws FactoryException {
7597        code              = 6200;
7598        name              = "Pulkovo 1995";
7599        crsName           = "Pulkovo 1995";
7600        ellipsoidName     = "Krassowsky 1940";
7601        primeMeridianName = "Greenwich";
7602        verifyDatum();
7603        createAndVerifyGeographicCRS(4200, GEOGRAPHIC_2D);
7604    }
7605
7606    /**
7607     * Tests “Parametrop Zemp 1990” geodetic datum creation from the factory.
7608     *
7609     * <ul>
7610     *   <li>EPSG datum code: <b>6740</b></li>
7611     *   <li>EPSG datum name: <b>Parametry Zemli 1990</b></li>
7612     *   <li>Ellipsoid name: <b>PZ-90</b></li>
7613     *   <li>Prime meridian name: <b>Greenwich</b></li>
7614     *   <li>CRS using the datum: <b>PZ-90</b></li>
7615     * </ul>
7616     *
7617     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7618     */
7619    @Test
7620    public void testPZ90() throws FactoryException {
7621        code              = 6740;
7622        name              = "Parametry Zemli 1990";
7623        crsName           = "PZ-90";
7624        ellipsoidName     = "PZ-90";
7625        primeMeridianName = "Greenwich";
7626        verifyDatum();
7627        createAndVerifyGeographicCRS(4740, GEOGRAPHIC_2D);
7628    }
7629
7630    /**
7631     * Tests “Qornoq 1927” geodetic datum creation from the factory.
7632     *
7633     * <ul>
7634     *   <li>EPSG datum code: <b>6194</b></li>
7635     *   <li>EPSG datum name: <b>Qornoq 1927</b></li>
7636     *   <li>Ellipsoid name: <b>International 1924</b></li>
7637     *   <li>Prime meridian name: <b>Greenwich</b></li>
7638     *   <li>CRS using the datum: <b>Qornoq 1927</b></li>
7639     * </ul>
7640     *
7641     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7642     */
7643    @Test
7644    public void testQornoq() throws FactoryException {
7645        code              = 6194;
7646        name              = "Qornoq 1927";
7647        crsName           = "Qornoq 1927";
7648        ellipsoidName     = "International 1924";
7649        primeMeridianName = "Greenwich";
7650        verifyDatum();
7651        createAndVerifyGeographicCRS(4194, GEOGRAPHIC_2D);
7652    }
7653
7654    /**
7655     * Tests “Rassadiran” geodetic datum creation from the factory.
7656     *
7657     * <ul>
7658     *   <li>EPSG datum code: <b>6153</b></li>
7659     *   <li>EPSG datum name: <b>Rassadiran</b></li>
7660     *   <li>Ellipsoid name: <b>International 1924</b></li>
7661     *   <li>Prime meridian name: <b>Greenwich</b></li>
7662     *   <li>CRS using the datum: <b>Rassadiran</b></li>
7663     * </ul>
7664     *
7665     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7666     */
7667    @Test
7668    public void testRassadiran() throws FactoryException {
7669        code              = 6153;
7670        name              = "Rassadiran";
7671        crsName           = "Rassadiran";
7672        ellipsoidName     = "International 1924";
7673        primeMeridianName = "Greenwich";
7674        verifyDatum();
7675        createAndVerifyGeographicCRS(4153, GEOGRAPHIC_2D);
7676    }
7677
7678    /**
7679     * Tests “Rauenberg Datum/83” geodetic datum creation from the factory.
7680     *
7681     * <ul>
7682     *   <li>EPSG datum code: <b>6745</b></li>
7683     *   <li>EPSG datum name: <b>Rauenberg Datum/83</b></li>
7684     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
7685     *   <li>Prime meridian name: <b>Greenwich</b></li>
7686     *   <li>CRS using the datum: <b>RD/83</b></li>
7687     * </ul>
7688     *
7689     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7690     */
7691    @Test
7692    public void testRD83() throws FactoryException {
7693        code              = 6745;
7694        name              = "Rauenberg Datum/83";
7695        crsName           = "RD/83";
7696        ellipsoidName     = "Bessel 1841";
7697        primeMeridianName = "Greenwich";
7698        verifyDatum();
7699        createAndVerifyGeographicCRS(4745, GEOGRAPHIC_2D);
7700    }
7701
7702    /**
7703     * Tests “Reunion 1947” geodetic datum creation from the factory.
7704     *
7705     * <ul>
7706     *   <li>EPSG datum code: <b>6626</b></li>
7707     *   <li>EPSG datum name: <b>Reunion 1947</b></li>
7708     *   <li>Ellipsoid name: <b>International 1924</b></li>
7709     *   <li>Prime meridian name: <b>Greenwich</b></li>
7710     *   <li>CRS using the datum: <b>Reunion 1947</b></li>
7711     * </ul>
7712     *
7713     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7714     */
7715    @Test
7716    public void testReunion() throws FactoryException {
7717        code              = 6626;
7718        name              = "Reunion 1947";
7719        crsName           = "Reunion 1947";
7720        ellipsoidName     = "International 1924";
7721        primeMeridianName = "Greenwich";
7722        verifyDatum();
7723        createAndVerifyGeographicCRS(4626, GEOGRAPHIC_2D);
7724    }
7725
7726    /**
7727     * Tests “Reykjavik 1900” geodetic datum creation from the factory.
7728     *
7729     * <ul>
7730     *   <li>EPSG datum code: <b>6657</b></li>
7731     *   <li>EPSG datum name: <b>Reykjavik 1900</b></li>
7732     *   <li>Ellipsoid name: <b>Danish 1876</b></li>
7733     *   <li>Prime meridian name: <b>Greenwich</b></li>
7734     *   <li>CRS using the datum: <b>Reykjavik 1900</b></li>
7735     * </ul>
7736     *
7737     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7738     */
7739    @Test
7740    public void testReykjavik() throws FactoryException {
7741        code              = 6657;
7742        name              = "Reykjavik 1900";
7743        crsName           = "Reykjavik 1900";
7744        ellipsoidName     = "Danish 1876";
7745        primeMeridianName = "Greenwich";
7746        verifyDatum();
7747        createAndVerifyGeographicCRS(4657, GEOGRAPHIC_2D);
7748    }
7749
7750    /**
7751     * Tests “Reseau Geodesique Francais Guyane 1995” geodetic datum creation from the factory.
7752     *
7753     * <ul>
7754     *   <li>EPSG datum code: <b>6624</b></li>
7755     *   <li>EPSG datum name: <b>Reseau Geodesique Francais Guyane 1995</b></li>
7756     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
7757     *   <li>Prime meridian name: <b>Greenwich</b></li>
7758     *   <li>CRS using the datum: <b>RGFG95</b></li>
7759     * </ul>
7760     *
7761     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7762     */
7763    @Test
7764    public void testRGFG95() throws FactoryException {
7765        code              = 6624;
7766        name              = "Reseau Geodesique Francais Guyane 1995";
7767        crsName           = "RGFG95";
7768        ellipsoidName     = "GRS 1980";
7769        primeMeridianName = "Greenwich";
7770        verifyDatum();
7771        createAndVerifyGeographicCRS(4624, GEOGRAPHIC_2D);
7772    }
7773
7774    /**
7775     * Tests “Reseau Geodesique de Nouvelle Caledonie 91-93” geodetic datum creation from the factory.
7776     *
7777     * <ul>
7778     *   <li>EPSG datum code: <b>6749</b></li>
7779     *   <li>EPSG datum name: <b>Reseau Geodesique de Nouvelle Caledonie 91-93</b></li>
7780     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
7781     *   <li>Prime meridian name: <b>Greenwich</b></li>
7782     *   <li>CRS using the datum: <b>RGNC91-93</b></li>
7783     * </ul>
7784     *
7785     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7786     */
7787    @Test
7788    public void testRGNC9193() throws FactoryException {
7789        code              = 6749;
7790        name              = "Reseau Geodesique de Nouvelle Caledonie 91-93";
7791        crsName           = "RGNC91-93";
7792        ellipsoidName     = "GRS 1980";
7793        primeMeridianName = "Greenwich";
7794        verifyDatum();
7795        createAndVerifyGeographicCRS(4749, GEOGRAPHIC_2D);
7796    }
7797
7798    /**
7799     * Tests “Reseau Geodesique de la Polynesie Francaise” geodetic datum creation from the factory.
7800     *
7801     * <ul>
7802     *   <li>EPSG datum code: <b>6687</b></li>
7803     *   <li>EPSG datum name: <b>Reseau Geodesique de la Polynesie Francaise</b></li>
7804     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
7805     *   <li>Prime meridian name: <b>Greenwich</b></li>
7806     *   <li>CRS using the datum: <b>RGPF</b></li>
7807     * </ul>
7808     *
7809     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7810     */
7811    @Test
7812    public void testRGPF() throws FactoryException {
7813        code              = 6687;
7814        name              = "Reseau Geodesique de la Polynesie Francaise";
7815        crsName           = "RGPF";
7816        ellipsoidName     = "GRS 1980";
7817        primeMeridianName = "Greenwich";
7818        verifyDatum();
7819        createAndVerifyGeographicCRS(4687, GEOGRAPHIC_2D);
7820    }
7821
7822    /**
7823     * Tests “Reseau Geodesique de la Reunion 1992” geodetic datum creation from the factory.
7824     *
7825     * <ul>
7826     *   <li>EPSG datum code: <b>6627</b></li>
7827     *   <li>EPSG datum name: <b>Reseau Geodesique de la Reunion 1992</b></li>
7828     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
7829     *   <li>Prime meridian name: <b>Greenwich</b></li>
7830     *   <li>CRS using the datum: <b>RGR92</b></li>
7831     * </ul>
7832     *
7833     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7834     */
7835    @Test
7836    public void testRGR92() throws FactoryException {
7837        code              = 6627;
7838        name              = "Reseau Geodesique de la Reunion 1992";
7839        crsName           = "RGR92";
7840        ellipsoidName     = "GRS 1980";
7841        primeMeridianName = "Greenwich";
7842        verifyDatum();
7843        createAndVerifyGeographicCRS(4627, GEOGRAPHIC_2D);
7844    }
7845
7846    /**
7847     * Tests “Reseau de Reference des Antilles Francaises 1991” geodetic datum creation from the factory.
7848     *
7849     * <ul>
7850     *   <li>EPSG datum code: <b>1047</b></li>
7851     *   <li>EPSG datum name: <b>Reseau de Reference des Antilles Francaises 1991</b></li>
7852     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
7853     *   <li>Prime meridian name: <b>Greenwich</b></li>
7854     *   <li>CRS using the datum: <b>RRAF 1991</b></li>
7855     * </ul>
7856     *
7857     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7858     */
7859    @Test
7860    public void testRRAF1991() throws FactoryException {
7861        code              = 1047;
7862        name              = "Reseau de Reference des Antilles Francaises 1991";
7863        crsName           = "RRAF 1991";
7864        ellipsoidName     = "GRS 1980";
7865        primeMeridianName = "Greenwich";
7866        verifyDatum();
7867        createAndVerifyGeographicCRS(4558, GEOGRAPHIC_2D);
7868    }
7869
7870    /**
7871     * Tests “Ross Sea Region Geodetic Datum 2000” geodetic datum creation from the factory.
7872     *
7873     * <ul>
7874     *   <li>EPSG datum code: <b>6764</b></li>
7875     *   <li>EPSG datum name: <b>Ross Sea Region Geodetic Datum 2000</b></li>
7876     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
7877     *   <li>Prime meridian name: <b>Greenwich</b></li>
7878     *   <li>CRS using the datum: <b>RSRGD2000</b></li>
7879     * </ul>
7880     *
7881     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7882     */
7883    @Test
7884    public void testRSRGD2000() throws FactoryException {
7885        code              = 6764;
7886        name              = "Ross Sea Region Geodetic Datum 2000";
7887        crsName           = "RSRGD2000";
7888        ellipsoidName     = "GRS 1980";
7889        primeMeridianName = "Greenwich";
7890        verifyDatum();
7891        createAndVerifyGeographicCRS(4764, GEOGRAPHIC_2D);
7892    }
7893
7894    /**
7895     * Tests “Stockholm 1938” geodetic datum creation from the factory.
7896     *
7897     * <ul>
7898     *   <li>EPSG datum code: <b>6308</b></li>
7899     *   <li>EPSG datum name: <b>Stockholm 1938</b></li>
7900     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
7901     *   <li>Prime meridian name: <b>Greenwich</b></li>
7902     *   <li>CRS using the datum: <b>RT38</b></li>
7903     * </ul>
7904     *
7905     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7906     */
7907    @Test
7908    public void testRT38() throws FactoryException {
7909        code              = 6308;
7910        name              = "Stockholm 1938";
7911        crsName           = "RT38";
7912        ellipsoidName     = "Bessel 1841";
7913        primeMeridianName = "Greenwich";
7914        verifyDatum();
7915        createAndVerifyGeographicCRS(4308, GEOGRAPHIC_2D);
7916    }
7917
7918    /**
7919     * Tests “Stockholm 1938 (Stockholm)” geodetic datum creation from the factory.
7920     *
7921     * <ul>
7922     *   <li>EPSG datum code: <b>6814</b></li>
7923     *   <li>EPSG datum name: <b>Stockholm 1938 (Stockholm)</b></li>
7924     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
7925     *   <li>Prime meridian name: <b>Stockholm</b></li>
7926     *   <li>CRS using the datum: <b>RT38 (Stockholm)</b></li>
7927     * </ul>
7928     *
7929     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7930     */
7931    @Test
7932    public void testRT38_Stockholm() throws FactoryException {
7933        code              = 6814;
7934        name              = "Stockholm 1938 (Stockholm)";
7935        crsName           = "RT38 (Stockholm)";
7936        ellipsoidName     = "Bessel 1841";
7937        primeMeridianName = "Stockholm";
7938        verifyDatum();
7939        createAndVerifyGeographicCRS(4814, GEOGRAPHIC_2D);
7940    }
7941
7942    /**
7943     * Tests “Rikets koordinatsystem 1990” geodetic datum creation from the factory.
7944     *
7945     * <ul>
7946     *   <li>EPSG datum code: <b>6124</b></li>
7947     *   <li>EPSG datum name: <b>Rikets koordinatsystem 1990</b></li>
7948     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
7949     *   <li>Prime meridian name: <b>Greenwich</b></li>
7950     *   <li>CRS using the datum: <b>RT90</b></li>
7951     * </ul>
7952     *
7953     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7954     */
7955    @Test
7956    public void testRT90() throws FactoryException {
7957        code              = 6124;
7958        name              = "Rikets koordinatsystem 1990";
7959        crsName           = "RT90";
7960        ellipsoidName     = "Bessel 1841";
7961        primeMeridianName = "Greenwich";
7962        verifyDatum();
7963        createAndVerifyGeographicCRS(4124, GEOGRAPHIC_2D);
7964    }
7965
7966    /**
7967     * Tests “Saint Pierre et Miquelon 1950” geodetic datum creation from the factory.
7968     *
7969     * <ul>
7970     *   <li>EPSG datum code: <b>6638</b></li>
7971     *   <li>EPSG datum name: <b>Saint Pierre et Miquelon 1950</b></li>
7972     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
7973     *   <li>Prime meridian name: <b>Greenwich</b></li>
7974     *   <li>CRS using the datum: <b>Saint Pierre et Miquelon 1950</b></li>
7975     * </ul>
7976     *
7977     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
7978     */
7979    @Test
7980    public void testSaintPierreEtMiquelon() throws FactoryException {
7981        code              = 6638;
7982        name              = "Saint Pierre et Miquelon 1950";
7983        crsName           = "Saint Pierre et Miquelon 1950";
7984        ellipsoidName     = "Clarke 1866";
7985        primeMeridianName = "Greenwich";
7986        verifyDatum();
7987        createAndVerifyGeographicCRS(4638, GEOGRAPHIC_2D);
7988    }
7989
7990    /**
7991     * Tests “Santo 1965” geodetic datum creation from the factory.
7992     *
7993     * <ul>
7994     *   <li>EPSG datum code: <b>6730</b></li>
7995     *   <li>EPSG datum name: <b>Santo 1965</b></li>
7996     *   <li>Ellipsoid name: <b>International 1924</b></li>
7997     *   <li>Prime meridian name: <b>Greenwich</b></li>
7998     *   <li>CRS using the datum: <b>Santo 1965</b></li>
7999     * </ul>
8000     *
8001     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8002     */
8003    @Test
8004    public void testSanto() throws FactoryException {
8005        code              = 6730;
8006        name              = "Santo 1965";
8007        crsName           = "Santo 1965";
8008        ellipsoidName     = "International 1924";
8009        primeMeridianName = "Greenwich";
8010        verifyDatum();
8011        createAndVerifyGeographicCRS(4730, GEOGRAPHIC_2D);
8012    }
8013
8014    /**
8015     * Tests “Sapper Hill 1943” geodetic datum creation from the factory.
8016     *
8017     * <ul>
8018     *   <li>EPSG datum code: <b>6292</b></li>
8019     *   <li>EPSG datum name: <b>Sapper Hill 1943</b></li>
8020     *   <li>Ellipsoid name: <b>International 1924</b></li>
8021     *   <li>Prime meridian name: <b>Greenwich</b></li>
8022     *   <li>CRS using the datum: <b>Sapper Hill 1943</b></li>
8023     * </ul>
8024     *
8025     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8026     */
8027    @Test
8028    public void testSapperHill() throws FactoryException {
8029        code              = 6292;
8030        name              = "Sapper Hill 1943";
8031        crsName           = "Sapper Hill 1943";
8032        ellipsoidName     = "International 1924";
8033        primeMeridianName = "Greenwich";
8034        verifyDatum();
8035        createAndVerifyGeographicCRS(4292, GEOGRAPHIC_2D);
8036    }
8037
8038    /**
8039     * Tests “Scoresbysund 1952” geodetic datum creation from the factory.
8040     *
8041     * <ul>
8042     *   <li>EPSG datum code: <b>6195</b></li>
8043     *   <li>EPSG datum name: <b>Scoresbysund 1952</b></li>
8044     *   <li>Ellipsoid name: <b>International 1924</b></li>
8045     *   <li>Prime meridian name: <b>Greenwich</b></li>
8046     *   <li>CRS using the datum: <b>Scoresbysund 1952</b></li>
8047     * </ul>
8048     *
8049     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8050     */
8051    @Test
8052    public void testScoresbysund() throws FactoryException {
8053        code              = 6195;
8054        name              = "Scoresbysund 1952";
8055        crsName           = "Scoresbysund 1952";
8056        ellipsoidName     = "International 1924";
8057        primeMeridianName = "Greenwich";
8058        verifyDatum();
8059        createAndVerifyGeographicCRS(4195, GEOGRAPHIC_2D);
8060    }
8061
8062    /**
8063     * Tests “Gunung Segara” geodetic datum creation from the factory.
8064     *
8065     * <ul>
8066     *   <li>EPSG datum code: <b>6613</b></li>
8067     *   <li>EPSG datum name: <b>Gunung Segara</b></li>
8068     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
8069     *   <li>Prime meridian name: <b>Greenwich</b></li>
8070     *   <li>CRS using the datum: <b>Segara</b></li>
8071     * </ul>
8072     *
8073     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8074     */
8075    @Test
8076    public void testSegara() throws FactoryException {
8077        code              = 6613;
8078        name              = "Gunung Segara";
8079        crsName           = "Segara";
8080        ellipsoidName     = "Bessel 1841";
8081        primeMeridianName = "Greenwich";
8082        verifyDatum();
8083        createAndVerifyGeographicCRS(4613, GEOGRAPHIC_2D);
8084    }
8085
8086    /**
8087     * Tests “Gunung Segara (Jakarta)” geodetic datum creation from the factory.
8088     *
8089     * <ul>
8090     *   <li>EPSG datum code: <b>6820</b></li>
8091     *   <li>EPSG datum name: <b>Gunung Segara (Jakarta)</b></li>
8092     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
8093     *   <li>Prime meridian name: <b>Jakarta</b></li>
8094     *   <li>CRS using the datum: <b>Segara (Jakarta)</b></li>
8095     * </ul>
8096     *
8097     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8098     */
8099    @Test
8100    public void testSegara_Jakarta() throws FactoryException {
8101        code              = 6820;
8102        name              = "Gunung Segara (Jakarta)";
8103        crsName           = "Segara (Jakarta)";
8104        ellipsoidName     = "Bessel 1841";
8105        primeMeridianName = "Jakarta";
8106        verifyDatum();
8107        createAndVerifyGeographicCRS(4820, GEOGRAPHIC_2D);
8108    }
8109
8110    /**
8111     * Tests “Selvagem Grande” geodetic datum creation from the factory.
8112     *
8113     * <ul>
8114     *   <li>EPSG datum code: <b>6616</b></li>
8115     *   <li>EPSG datum name: <b>Selvagem Grande</b></li>
8116     *   <li>Ellipsoid name: <b>International 1924</b></li>
8117     *   <li>Prime meridian name: <b>Greenwich</b></li>
8118     *   <li>CRS using the datum: <b>Selvagem Grande</b></li>
8119     * </ul>
8120     *
8121     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8122     */
8123    @Test
8124    public void testSelvagemGrande() throws FactoryException {
8125        code              = 6616;
8126        name              = "Selvagem Grande";
8127        crsName           = "Selvagem Grande";
8128        ellipsoidName     = "International 1924";
8129        primeMeridianName = "Greenwich";
8130        verifyDatum();
8131        createAndVerifyGeographicCRS(4616, GEOGRAPHIC_2D);
8132    }
8133
8134    /**
8135     * Tests “Serindung” geodetic datum creation from the factory.
8136     *
8137     * <ul>
8138     *   <li>EPSG datum code: <b>6295</b></li>
8139     *   <li>EPSG datum name: <b>Serindung</b></li>
8140     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
8141     *   <li>Prime meridian name: <b>Greenwich</b></li>
8142     *   <li>CRS using the datum: <b>Serindung</b></li>
8143     * </ul>
8144     *
8145     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8146     */
8147    @Test
8148    public void testSerindung() throws FactoryException {
8149        code              = 6295;
8150        name              = "Serindung";
8151        crsName           = "Serindung";
8152        ellipsoidName     = "Bessel 1841";
8153        primeMeridianName = "Greenwich";
8154        verifyDatum();
8155        createAndVerifyGeographicCRS(4295, GEOGRAPHIC_2D);
8156    }
8157
8158    /**
8159     * Tests “Sierra Leone Colony 1924” geodetic datum creation from the factory.
8160     *
8161     * <ul>
8162     *   <li>EPSG datum code: <b>6174</b></li>
8163     *   <li>EPSG datum name: <b>Sierra Leone Colony 1924</b></li>
8164     *   <li>Ellipsoid name: <b>War Office</b></li>
8165     *   <li>Prime meridian name: <b>Greenwich</b></li>
8166     *   <li>CRS using the datum: <b>Sierra Leone 1924</b></li>
8167     * </ul>
8168     *
8169     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8170     */
8171    @Test
8172    public void testSierraLeone1924() throws FactoryException {
8173        code              = 6174;
8174        name              = "Sierra Leone Colony 1924";
8175        crsName           = "Sierra Leone 1924";
8176        ellipsoidName     = "War Office";
8177        primeMeridianName = "Greenwich";
8178        verifyDatum();
8179        createAndVerifyGeographicCRS(4174, GEOGRAPHIC_2D);
8180    }
8181
8182    /**
8183     * Tests “Sierra Leone 1968” geodetic datum creation from the factory.
8184     *
8185     * <ul>
8186     *   <li>EPSG datum code: <b>6175</b></li>
8187     *   <li>EPSG datum name: <b>Sierra Leone 1968</b></li>
8188     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
8189     *   <li>Prime meridian name: <b>Greenwich</b></li>
8190     *   <li>CRS using the datum: <b>Sierra Leone 1968</b></li>
8191     * </ul>
8192     *
8193     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8194     */
8195    @Test
8196    public void testSierraLeone1968() throws FactoryException {
8197        code              = 6175;
8198        name              = "Sierra Leone 1968";
8199        crsName           = "Sierra Leone 1968";
8200        ellipsoidName     = "Clarke 1880 (RGS)";
8201        primeMeridianName = "Greenwich";
8202        verifyDatum();
8203        createAndVerifyGeographicCRS(4175, GEOGRAPHIC_2D);
8204    }
8205
8206    /**
8207     * Tests “System of the Unified Trigonometrical Cadastral Network” geodetic datum creation from the factory.
8208     *
8209     * <ul>
8210     *   <li>EPSG datum code: <b>6156</b></li>
8211     *   <li>EPSG datum name: <b>System of the Unified Trigonometrical Cadastral Network</b></li>
8212     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
8213     *   <li>Prime meridian name: <b>Greenwich</b></li>
8214     *   <li>CRS using the datum: <b>S-JTSK</b></li>
8215     * </ul>
8216     *
8217     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8218     */
8219    @Test
8220    public void testSJTSK() throws FactoryException {
8221        code              = 6156;
8222        name              = "System of the Unified Trigonometrical Cadastral Network";
8223        crsName           = "S-JTSK";
8224        ellipsoidName     = "Bessel 1841";
8225        primeMeridianName = "Greenwich";
8226        verifyDatum();
8227        createAndVerifyGeographicCRS(4156, GEOGRAPHIC_2D);
8228    }
8229
8230    /**
8231     * Tests “System of the Unified Trigonometrical Cadastral Network (Ferro)” geodetic datum creation from the factory.
8232     *
8233     * <ul>
8234     *   <li>EPSG datum code: <b>6818</b></li>
8235     *   <li>EPSG datum name: <b>System of the Unified Trigonometrical Cadastral Network (Ferro)</b></li>
8236     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
8237     *   <li>Prime meridian name: <b>Ferro</b></li>
8238     *   <li>CRS using the datum: <b>S-JTSK (Ferro)</b></li>
8239     * </ul>
8240     *
8241     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8242     */
8243    @Test
8244    public void testSJTSK_Ferro() throws FactoryException {
8245        code              = 6818;
8246        name              = "System of the Unified Trigonometrical Cadastral Network (Ferro)";
8247        crsName           = "S-JTSK (Ferro)";
8248        ellipsoidName     = "Bessel 1841";
8249        primeMeridianName = "Ferro";
8250        verifyDatum();
8251        createAndVerifyGeographicCRS(4818, GEOGRAPHIC_2D);
8252    }
8253
8254    /**
8255     * Tests “Slovenia Geodetic Datum 1996” geodetic datum creation from the factory.
8256     *
8257     * <ul>
8258     *   <li>EPSG datum code: <b>6765</b></li>
8259     *   <li>EPSG datum name: <b>Slovenia Geodetic Datum 1996</b></li>
8260     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
8261     *   <li>Prime meridian name: <b>Greenwich</b></li>
8262     *   <li>CRS using the datum: <b>Slovenia 1996</b></li>
8263     * </ul>
8264     *
8265     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8266     */
8267    @Test
8268    public void testSlovenia() throws FactoryException {
8269        code              = 6765;
8270        name              = "Slovenia Geodetic Datum 1996";
8271        crsName           = "Slovenia 1996";
8272        ellipsoidName     = "GRS 1980";
8273        primeMeridianName = "Greenwich";
8274        verifyDatum();
8275        createAndVerifyGeographicCRS(4765, GEOGRAPHIC_2D);
8276    }
8277
8278    /**
8279     * Tests “Solomon 1968” geodetic datum creation from the factory.
8280     *
8281     * <ul>
8282     *   <li>EPSG datum code: <b>6718</b></li>
8283     *   <li>EPSG datum name: <b>Solomon 1968</b></li>
8284     *   <li>Ellipsoid name: <b>International 1924</b></li>
8285     *   <li>Prime meridian name: <b>Greenwich</b></li>
8286     *   <li>CRS using the datum: <b>Solomon 1968</b></li>
8287     * </ul>
8288     *
8289     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8290     */
8291    @Test
8292    public void testSolomon() throws FactoryException {
8293        code              = 6718;
8294        name              = "Solomon 1968";
8295        crsName           = "Solomon 1968";
8296        ellipsoidName     = "International 1924";
8297        primeMeridianName = "Greenwich";
8298        verifyDatum();
8299        createAndVerifyGeographicCRS(4718, GEOGRAPHIC_2D);
8300    }
8301
8302    /**
8303     * Tests “South Georgia 1968” geodetic datum creation from the factory.
8304     *
8305     * <ul>
8306     *   <li>EPSG datum code: <b>6722</b></li>
8307     *   <li>EPSG datum name: <b>South Georgia 1968</b></li>
8308     *   <li>Ellipsoid name: <b>International 1924</b></li>
8309     *   <li>Prime meridian name: <b>Greenwich</b></li>
8310     *   <li>CRS using the datum: <b>South Georgia 1968</b></li>
8311     * </ul>
8312     *
8313     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8314     */
8315    @Test
8316    public void testSouthGeorgia() throws FactoryException {
8317        code              = 6722;
8318        name              = "South Georgia 1968";
8319        crsName           = "South Georgia 1968";
8320        ellipsoidName     = "International 1924";
8321        primeMeridianName = "Greenwich";
8322        verifyDatum();
8323        createAndVerifyGeographicCRS(4722, GEOGRAPHIC_2D);
8324    }
8325
8326    /**
8327     * Tests “South Yemen” geodetic datum creation from the factory.
8328     *
8329     * <ul>
8330     *   <li>EPSG datum code: <b>6164</b></li>
8331     *   <li>EPSG datum name: <b>South Yemen</b></li>
8332     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
8333     *   <li>Prime meridian name: <b>Greenwich</b></li>
8334     *   <li>CRS using the datum: <b>South Yemen</b></li>
8335     * </ul>
8336     *
8337     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8338     */
8339    @Test
8340    public void testSouthYemen() throws FactoryException {
8341        code              = 6164;
8342        name              = "South Yemen";
8343        crsName           = "South Yemen";
8344        ellipsoidName     = "Krassowsky 1940";
8345        primeMeridianName = "Greenwich";
8346        verifyDatum();
8347        createAndVerifyGeographicCRS(4164, GEOGRAPHIC_2D);
8348    }
8349
8350    /**
8351     * Tests “St&#46; George Island” geodetic datum creation from the factory.
8352     *
8353     * <ul>
8354     *   <li>EPSG datum code: <b>6138</b></li>
8355     *   <li>EPSG datum name: <b>St. George Island</b></li>
8356     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
8357     *   <li>Prime meridian name: <b>Greenwich</b></li>
8358     *   <li>CRS using the datum: <b>St. George Island</b></li>
8359     * </ul>
8360     *
8361     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8362     */
8363    @Test
8364    public void testStGeorgeIsland() throws FactoryException {
8365        code              = 6138;
8366        name              = "St. George Island";
8367        crsName           = "St. George Island";
8368        ellipsoidName     = "Clarke 1866";
8369        primeMeridianName = "Greenwich";
8370        verifyDatum();
8371        createAndVerifyGeographicCRS(4138, GEOGRAPHIC_2D);
8372    }
8373
8374    /**
8375     * Tests “Astro DOS 71” geodetic datum creation from the factory.
8376     *
8377     * <ul>
8378     *   <li>EPSG datum code: <b>6710</b></li>
8379     *   <li>EPSG datum name: <b>St. Helena 1971</b></li>
8380     *   <li>Ellipsoid name: <b>International 1924</b></li>
8381     *   <li>Prime meridian name: <b>Greenwich</b></li>
8382     *   <li>CRS using the datum: <b>St. Helena 1971</b></li>
8383     * </ul>
8384     *
8385     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8386     */
8387    @Test
8388    public void testStHelena() throws FactoryException {
8389        code              = 6710;
8390        name              = "Astro DOS 71";
8391        crsName           = "Astro DOS 71";
8392        ellipsoidName     = "International 1924";
8393        primeMeridianName = "Greenwich";
8394        verifyDatum();
8395        createAndVerifyGeographicCRS(4710, GEOGRAPHIC_2D);
8396    }
8397
8398    /**
8399     * Tests “St&#46; Kitts 1955” geodetic datum creation from the factory.
8400     *
8401     * <ul>
8402     *   <li>EPSG datum code: <b>6605</b></li>
8403     *   <li>EPSG datum name: <b>St. Kitts 1955</b></li>
8404     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
8405     *   <li>Prime meridian name: <b>Greenwich</b></li>
8406     *   <li>CRS using the datum: <b>St. Kitts 1955</b></li>
8407     * </ul>
8408     *
8409     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8410     */
8411    @Test
8412    public void testStKitts() throws FactoryException {
8413        code              = 6605;
8414        name              = "St. Kitts 1955";
8415        crsName           = "St. Kitts 1955";
8416        ellipsoidName     = "Clarke 1880 (RGS)";
8417        primeMeridianName = "Greenwich";
8418        verifyDatum();
8419        createAndVerifyGeographicCRS(4605, GEOGRAPHIC_2D);
8420    }
8421
8422    /**
8423     * Tests “St&#46; Lawrence Island” geodetic datum creation from the factory.
8424     *
8425     * <ul>
8426     *   <li>EPSG datum code: <b>6136</b></li>
8427     *   <li>EPSG datum name: <b>St. Lawrence Island</b></li>
8428     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
8429     *   <li>Prime meridian name: <b>Greenwich</b></li>
8430     *   <li>CRS using the datum: <b>St. Lawrence Island</b></li>
8431     * </ul>
8432     *
8433     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8434     */
8435    @Test
8436    public void testStLawrenceIsland() throws FactoryException {
8437        code              = 6136;
8438        name              = "St. Lawrence Island";
8439        crsName           = "St. Lawrence Island";
8440        ellipsoidName     = "Clarke 1866";
8441        primeMeridianName = "Greenwich";
8442        verifyDatum();
8443        createAndVerifyGeographicCRS(4136, GEOGRAPHIC_2D);
8444    }
8445
8446    /**
8447     * Tests “St&#46; Lucia 1955” geodetic datum creation from the factory.
8448     *
8449     * <ul>
8450     *   <li>EPSG datum code: <b>6606</b></li>
8451     *   <li>EPSG datum name: <b>St. Lucia 1955</b></li>
8452     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
8453     *   <li>Prime meridian name: <b>Greenwich</b></li>
8454     *   <li>CRS using the datum: <b>St. Lucia 1955</b></li>
8455     * </ul>
8456     *
8457     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8458     */
8459    @Test
8460    public void testStLucia() throws FactoryException {
8461        code              = 6606;
8462        name              = "St. Lucia 1955";
8463        crsName           = "St. Lucia 1955";
8464        ellipsoidName     = "Clarke 1880 (RGS)";
8465        primeMeridianName = "Greenwich";
8466        verifyDatum();
8467        createAndVerifyGeographicCRS(4606, GEOGRAPHIC_2D);
8468    }
8469
8470    /**
8471     * Tests “St&#46; Paul Island” geodetic datum creation from the factory.
8472     *
8473     * <ul>
8474     *   <li>EPSG datum code: <b>6137</b></li>
8475     *   <li>EPSG datum name: <b>St. Paul Island</b></li>
8476     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
8477     *   <li>Prime meridian name: <b>Greenwich</b></li>
8478     *   <li>CRS using the datum: <b>St. Paul Island</b></li>
8479     * </ul>
8480     *
8481     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8482     */
8483    @Test
8484    public void testStPaulIsland() throws FactoryException {
8485        code              = 6137;
8486        name              = "St. Paul Island";
8487        crsName           = "St. Paul Island";
8488        ellipsoidName     = "Clarke 1866";
8489        primeMeridianName = "Greenwich";
8490        verifyDatum();
8491        createAndVerifyGeographicCRS(4137, GEOGRAPHIC_2D);
8492    }
8493
8494    /**
8495     * Tests “St&#46; Vincent 1945” geodetic datum creation from the factory.
8496     *
8497     * <ul>
8498     *   <li>EPSG datum code: <b>6607</b></li>
8499     *   <li>EPSG datum name: <b>St. Vincent 1945</b></li>
8500     *   <li>Ellipsoid name: <b>Clarke 1880 (RGS)</b></li>
8501     *   <li>Prime meridian name: <b>Greenwich</b></li>
8502     *   <li>CRS using the datum: <b>St. Vincent 1945</b></li>
8503     * </ul>
8504     *
8505     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8506     */
8507    @Test
8508    public void testStVincent() throws FactoryException {
8509        code              = 6607;
8510        name              = "St. Vincent 1945";
8511        crsName           = "St. Vincent 1945";
8512        ellipsoidName     = "Clarke 1880 (RGS)";
8513        primeMeridianName = "Greenwich";
8514        verifyDatum();
8515        createAndVerifyGeographicCRS(4607, GEOGRAPHIC_2D);
8516    }
8517
8518    /**
8519     * Tests “ST71 Belep” geodetic datum creation from the factory.
8520     *
8521     * <ul>
8522     *   <li>EPSG datum code: <b>6643</b></li>
8523     *   <li>EPSG datum name: <b>ST71 Belep</b></li>
8524     *   <li>Ellipsoid name: <b>International 1924</b></li>
8525     *   <li>Prime meridian name: <b>Greenwich</b></li>
8526     *   <li>CRS using the datum: <b>ST71 Belep</b></li>
8527     * </ul>
8528     *
8529     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8530     */
8531    @Test
8532    public void testBelep() throws FactoryException {
8533        code              = 6643;
8534        name              = "ST71 Belep";
8535        crsName           = "ST71 Belep";
8536        ellipsoidName     = "International 1924";
8537        primeMeridianName = "Greenwich";
8538        verifyDatum();
8539        createAndVerifyGeographicCRS(4643, GEOGRAPHIC_2D);
8540    }
8541
8542    /**
8543     * Tests “ST84 Ile des Pins” geodetic datum creation from the factory.
8544     *
8545     * <ul>
8546     *   <li>EPSG datum code: <b>6642</b></li>
8547     *   <li>EPSG datum name: <b>ST84 Ile des Pins</b></li>
8548     *   <li>Ellipsoid name: <b>International 1924</b></li>
8549     *   <li>Prime meridian name: <b>Greenwich</b></li>
8550     *   <li>CRS using the datum: <b>ST84 Ile des Pins</b></li>
8551     * </ul>
8552     *
8553     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8554     */
8555    @Test
8556    public void testIleDesPins() throws FactoryException {
8557        code              = 6642;
8558        name              = "ST84 Ile des Pins";
8559        crsName           = "ST84 Ile des Pins";
8560        ellipsoidName     = "International 1924";
8561        primeMeridianName = "Greenwich";
8562        verifyDatum();
8563        createAndVerifyGeographicCRS(4642, GEOGRAPHIC_2D);
8564    }
8565
8566    /**
8567     * Tests “ST87 Ouvea” geodetic datum creation from the factory.
8568     *
8569     * <ul>
8570     *   <li>EPSG datum code: <b>6750</b></li>
8571     *   <li>EPSG datum name: <b>ST87 Ouvea</b></li>
8572     *   <li>Ellipsoid name: <b>WGS 84</b></li>
8573     *   <li>Prime meridian name: <b>Greenwich</b></li>
8574     *   <li>CRS using the datum: <b>ST87 Ouvea</b></li>
8575     * </ul>
8576     *
8577     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8578     */
8579    @Test
8580    public void testOuvea() throws FactoryException {
8581        code              = 6750;
8582        name              = "ST87 Ouvea";
8583        crsName           = "ST87 Ouvea";
8584        ellipsoidName     = "WGS 84";
8585        primeMeridianName = "Greenwich";
8586        verifyDatum();
8587        createAndVerifyGeographicCRS(4750, GEOGRAPHIC_2D);
8588    }
8589
8590    /**
8591     * Tests “SVY21” geodetic datum creation from the factory.
8592     *
8593     * <ul>
8594     *   <li>EPSG datum code: <b>6757</b></li>
8595     *   <li>EPSG datum name: <b>SVY21</b></li>
8596     *   <li>Ellipsoid name: <b>WGS 84</b></li>
8597     *   <li>Prime meridian name: <b>Greenwich</b></li>
8598     *   <li>CRS using the datum: <b>SVY21</b></li>
8599     * </ul>
8600     *
8601     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8602     */
8603    @Test
8604    public void testSVY21() throws FactoryException {
8605        code              = 6757;
8606        name              = "SVY21";
8607        crsName           = "SVY21";
8608        ellipsoidName     = "WGS 84";
8609        primeMeridianName = "Greenwich";
8610        verifyDatum();
8611        createAndVerifyGeographicCRS(4757, GEOGRAPHIC_2D);
8612    }
8613
8614    /**
8615     * Tests “SWEREF99” geodetic datum creation from the factory.
8616     *
8617     * <ul>
8618     *   <li>EPSG datum code: <b>6619</b></li>
8619     *   <li>EPSG datum name: <b>SWEREF99</b></li>
8620     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
8621     *   <li>Prime meridian name: <b>Greenwich</b></li>
8622     *   <li>CRS using the datum: <b>SWEREF99</b></li>
8623     * </ul>
8624     *
8625     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8626     */
8627    @Test
8628    public void testSWEREF99() throws FactoryException {
8629        code              = 6619;
8630        name              = "SWEREF99";
8631        crsName           = "SWEREF99";
8632        ellipsoidName     = "GRS 1980";
8633        primeMeridianName = "Greenwich";
8634        verifyDatum();
8635        createAndVerifyGeographicCRS(4619, GEOGRAPHIC_2D);
8636    }
8637
8638    /**
8639     * Tests “Tahaa 54” geodetic datum creation from the factory.
8640     *
8641     * <ul>
8642     *   <li>EPSG datum code: <b>6629</b></li>
8643     *   <li>EPSG datum name: <b>Tahaa 54</b></li>
8644     *   <li>Ellipsoid name: <b>International 1924</b></li>
8645     *   <li>Prime meridian name: <b>Greenwich</b></li>
8646     *   <li>CRS using the datum: <b>Tahaa 54</b></li>
8647     * </ul>
8648     *
8649     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8650     */
8651    @Test
8652    public void testTahaa() throws FactoryException {
8653        code              = 6629;
8654        name              = "Tahaa 54";
8655        crsName           = "Tahaa 54";
8656        ellipsoidName     = "International 1924";
8657        primeMeridianName = "Greenwich";
8658        verifyDatum();
8659        createAndVerifyGeographicCRS(4629, GEOGRAPHIC_2D);
8660    }
8661
8662    /**
8663     * Tests “Tahiti 52” geodetic datum creation from the factory.
8664     *
8665     * <ul>
8666     *   <li>EPSG datum code: <b>6628</b></li>
8667     *   <li>EPSG datum name: <b>Tahiti 52</b></li>
8668     *   <li>Ellipsoid name: <b>International 1924</b></li>
8669     *   <li>Prime meridian name: <b>Greenwich</b></li>
8670     *   <li>CRS using the datum: <b>Tahiti 52</b></li>
8671     * </ul>
8672     *
8673     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8674     */
8675    @Test
8676    public void testTahiti52() throws FactoryException {
8677        code              = 6628;
8678        name              = "Tahiti 52";
8679        crsName           = "Tahiti 52";
8680        ellipsoidName     = "International 1924";
8681        primeMeridianName = "Greenwich";
8682        verifyDatum();
8683        createAndVerifyGeographicCRS(4628, GEOGRAPHIC_2D);
8684    }
8685
8686    /**
8687     * Tests “Tahiti 79” geodetic datum creation from the factory.
8688     *
8689     * <ul>
8690     *   <li>EPSG datum code: <b>6690</b></li>
8691     *   <li>EPSG datum name: <b>Tahiti 79</b></li>
8692     *   <li>Ellipsoid name: <b>International 1924</b></li>
8693     *   <li>Prime meridian name: <b>Greenwich</b></li>
8694     *   <li>CRS using the datum: <b>Tahiti 79</b></li>
8695     * </ul>
8696     *
8697     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8698     */
8699    @Test
8700    public void testTahiti79() throws FactoryException {
8701        code              = 6690;
8702        name              = "Tahiti 79";
8703        crsName           = "Tahiti 79";
8704        ellipsoidName     = "International 1924";
8705        primeMeridianName = "Greenwich";
8706        verifyDatum();
8707        createAndVerifyGeographicCRS(4690, GEOGRAPHIC_2D);
8708    }
8709
8710    /**
8711     * Tests “Tern Island 1961” geodetic datum creation from the factory.
8712     *
8713     * <ul>
8714     *   <li>EPSG datum code: <b>6707</b></li>
8715     *   <li>EPSG datum name: <b>Tern Island 1961</b></li>
8716     *   <li>Ellipsoid name: <b>International 1924</b></li>
8717     *   <li>Prime meridian name: <b>Greenwich</b></li>
8718     *   <li>CRS using the datum: <b>Tern Island 1961</b></li>
8719     * </ul>
8720     *
8721     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8722     */
8723    @Test
8724    public void testTernIsland() throws FactoryException {
8725        code              = 6707;
8726        name              = "Tern Island 1961";
8727        crsName           = "Tern Island 1961";
8728        ellipsoidName     = "International 1924";
8729        primeMeridianName = "Greenwich";
8730        verifyDatum();
8731        createAndVerifyGeographicCRS(4707, GEOGRAPHIC_2D);
8732    }
8733
8734    /**
8735     * Tests “Tete” geodetic datum creation from the factory.
8736     *
8737     * <ul>
8738     *   <li>EPSG datum code: <b>6127</b></li>
8739     *   <li>EPSG datum name: <b>Tete</b></li>
8740     *   <li>Ellipsoid name: <b>Clarke 1866</b></li>
8741     *   <li>Prime meridian name: <b>Greenwich</b></li>
8742     *   <li>CRS using the datum: <b>Tete</b></li>
8743     * </ul>
8744     *
8745     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8746     */
8747    @Test
8748    public void testTete() throws FactoryException {
8749        code              = 6127;
8750        name              = "Tete";
8751        crsName           = "Tete";
8752        ellipsoidName     = "Clarke 1866";
8753        primeMeridianName = "Greenwich";
8754        verifyDatum();
8755        createAndVerifyGeographicCRS(4127, GEOGRAPHIC_2D);
8756    }
8757
8758    /**
8759     * Tests “TM65” geodetic datum creation from the factory.
8760     *
8761     * <ul>
8762     *   <li>EPSG datum code: <b>6299</b></li>
8763     *   <li>EPSG datum name: <b>TM65</b></li>
8764     *   <li>Ellipsoid name: <b>Airy Modified 1849</b></li>
8765     *   <li>Prime meridian name: <b>Greenwich</b></li>
8766     *   <li>CRS using the datum: <b>TM65</b></li>
8767     * </ul>
8768     *
8769     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8770     */
8771    @Test
8772    public void testTM65() throws FactoryException {
8773        code              = 6299;
8774        name              = "TM65";
8775        crsName           = "TM65";
8776        ellipsoidName     = "Airy Modified 1849";
8777        primeMeridianName = "Greenwich";
8778        verifyDatum();
8779        createAndVerifyGeographicCRS(4299, GEOGRAPHIC_2D);
8780    }
8781
8782    /**
8783     * Tests “Geodetic Datum of 1965” geodetic datum creation from the factory.
8784     *
8785     * <ul>
8786     *   <li>EPSG datum code: <b>6300</b></li>
8787     *   <li>EPSG datum name: <b>Geodetic Datum of 1965</b></li>
8788     *   <li>Ellipsoid name: <b>Airy Modified 1849</b></li>
8789     *   <li>Prime meridian name: <b>Greenwich</b></li>
8790     *   <li>CRS using the datum: <b>TM75</b></li>
8791     * </ul>
8792     *
8793     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8794     */
8795    @Test
8796    public void testTM75() throws FactoryException {
8797        code              = 6300;
8798        name              = "Geodetic Datum of 1965";
8799        crsName           = "TM75";
8800        ellipsoidName     = "Airy Modified 1849";
8801        primeMeridianName = "Greenwich";
8802        verifyDatum();
8803        createAndVerifyGeographicCRS(4300, GEOGRAPHIC_2D);
8804    }
8805
8806    /**
8807     * Tests “Tokyo” geodetic datum creation from the factory.
8808     *
8809     * <ul>
8810     *   <li>EPSG datum code: <b>6301</b></li>
8811     *   <li>EPSG datum name: <b>Tokyo</b></li>
8812     *   <li>Ellipsoid name: <b>Bessel 1841</b></li>
8813     *   <li>Prime meridian name: <b>Greenwich</b></li>
8814     *   <li>CRS using the datum: <b>Tokyo</b></li>
8815     * </ul>
8816     *
8817     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8818     */
8819    @Test
8820    public void testTokyo() throws FactoryException {
8821        code              = 6301;
8822        name              = "Tokyo";
8823        crsName           = "Tokyo";
8824        ellipsoidName     = "Bessel 1841";
8825        primeMeridianName = "Greenwich";
8826        verifyDatum();
8827        createAndVerifyGeographicCRS(4301, GEOGRAPHIC_2D);
8828    }
8829
8830    /**
8831     * Tests “Tristan 1968” geodetic datum creation from the factory.
8832     *
8833     * <ul>
8834     *   <li>EPSG datum code: <b>6734</b></li>
8835     *   <li>EPSG datum name: <b>Tristan 1968</b></li>
8836     *   <li>Ellipsoid name: <b>International 1924</b></li>
8837     *   <li>Prime meridian name: <b>Greenwich</b></li>
8838     *   <li>CRS using the datum: <b>Tristan 1968</b></li>
8839     * </ul>
8840     *
8841     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8842     */
8843    @Test
8844    public void testTristan() throws FactoryException {
8845        code              = 6734;
8846        name              = "Tristan 1968";
8847        crsName           = "Tristan 1968";
8848        ellipsoidName     = "International 1924";
8849        primeMeridianName = "Greenwich";
8850        verifyDatum();
8851        createAndVerifyGeographicCRS(4734, GEOGRAPHIC_2D);
8852    }
8853
8854    /**
8855     * Tests “Taiwan Datum 1967” geodetic datum creation from the factory.
8856     *
8857     * <ul>
8858     *   <li>EPSG datum code: <b>1025</b></li>
8859     *   <li>EPSG datum name: <b>Taiwan Datum 1967</b></li>
8860     *   <li>Ellipsoid name: <b>GRS 1967 Modified</b></li>
8861     *   <li>Prime meridian name: <b>Greenwich</b></li>
8862     *   <li>CRS using the datum: <b>TWD67</b></li>
8863     * </ul>
8864     *
8865     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8866     */
8867    @Test
8868    public void testTWD67() throws FactoryException {
8869        code              = 1025;
8870        name              = "Taiwan Datum 1967";
8871        crsName           = "TWD67";
8872        ellipsoidName     = "GRS 1967 Modified";
8873        primeMeridianName = "Greenwich";
8874        verifyDatum();
8875        createAndVerifyGeographicCRS(3821, GEOGRAPHIC_2D);
8876    }
8877
8878    /**
8879     * Tests “Taiwan Datum 1997” geodetic datum creation from the factory.
8880     *
8881     * <ul>
8882     *   <li>EPSG datum code: <b>1026</b></li>
8883     *   <li>EPSG datum name: <b>Taiwan Datum 1997</b></li>
8884     *   <li>Ellipsoid name: <b>GRS 1980</b></li>
8885     *   <li>Prime meridian name: <b>Greenwich</b></li>
8886     *   <li>CRS using the datum: <b>TWD97</b></li>
8887     * </ul>
8888     *
8889     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8890     */
8891    @Test
8892    public void testTWD97() throws FactoryException {
8893        code              = 1026;
8894        name              = "Taiwan Datum 1997";
8895        crsName           = "TWD97";
8896        ellipsoidName     = "GRS 1980";
8897        primeMeridianName = "Greenwich";
8898        verifyDatum();
8899        createAndVerifyGeographicCRS(3824, GEOGRAPHIC_2D);
8900    }
8901
8902    /**
8903     * Tests “Vanua Levu 1915” geodetic datum creation from the factory.
8904     *
8905     * <ul>
8906     *   <li>EPSG datum code: <b>6748</b></li>
8907     *   <li>EPSG datum name: <b>Vanua Levu 1915</b></li>
8908     *   <li>Ellipsoid name: <b>Clarke 1880 (international foot)</b></li>
8909     *   <li>Prime meridian name: <b>Greenwich</b></li>
8910     *   <li>CRS using the datum: <b>Vanua Levu 1915</b></li>
8911     * </ul>
8912     *
8913     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8914     */
8915    @Test
8916    public void testVanuaLevu() throws FactoryException {
8917        code              = 6748;
8918        name              = "Vanua Levu 1915";
8919        crsName           = "Vanua Levu 1915";
8920        ellipsoidName     = "Clarke 1880 (international foot)";
8921        primeMeridianName = "Greenwich";
8922        verifyDatum();
8923        createAndVerifyGeographicCRS(4748, GEOGRAPHIC_2D);
8924    }
8925
8926    /**
8927     * Tests “Vientiane 1982” geodetic datum creation from the factory.
8928     *
8929     * <ul>
8930     *   <li>EPSG datum code: <b>6676</b></li>
8931     *   <li>EPSG datum name: <b>Vientiane 1982</b></li>
8932     *   <li>Ellipsoid name: <b>Krassowsky 1940</b></li>
8933     *   <li>Prime meridian name: <b>Greenwich</b></li>
8934     *   <li>CRS using the datum: <b>Vientiane 1982</b></li>
8935     * </ul>
8936     *
8937     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8938     */
8939    @Test
8940    public void testVientiane() throws FactoryException {
8941        code              = 6676;
8942        name              = "Vientiane 1982";
8943        crsName           = "Vientiane 1982";
8944        ellipsoidName     = "Krassowsky 1940";
8945        primeMeridianName = "Greenwich";
8946        verifyDatum();
8947        createAndVerifyGeographicCRS(4676, GEOGRAPHIC_2D);
8948    }
8949
8950    /**
8951     * Tests “Viti Levu 1912” geodetic datum creation from the factory.
8952     *
8953     * <ul>
8954     *   <li>EPSG datum code: <b>6752</b></li>
8955     *   <li>EPSG datum name: <b>Viti Levu 1912</b></li>
8956     *   <li>Ellipsoid name: <b>Clarke 1880 (international foot)</b></li>
8957     *   <li>Prime meridian name: <b>Greenwich</b></li>
8958     *   <li>CRS using the datum: <b>Viti Levu 1912</b></li>
8959     * </ul>
8960     *
8961     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8962     */
8963    @Test
8964    public void testVitiLevu() throws FactoryException {
8965        code              = 6752;
8966        name              = "Viti Levu 1912";
8967        crsName           = "Viti Levu 1912";
8968        ellipsoidName     = "Clarke 1880 (international foot)";
8969        primeMeridianName = "Greenwich";
8970        verifyDatum();
8971        createAndVerifyGeographicCRS(4752, GEOGRAPHIC_2D);
8972    }
8973
8974    /**
8975     * Tests “Vietnam 2000” geodetic datum creation from the factory.
8976     *
8977     * <ul>
8978     *   <li>EPSG datum code: <b>6756</b></li>
8979     *   <li>EPSG datum name: <b>Vietnam 2000</b></li>
8980     *   <li>Ellipsoid name: <b>WGS 84</b></li>
8981     *   <li>Prime meridian name: <b>Greenwich</b></li>
8982     *   <li>CRS using the datum: <b>VN-2000</b></li>
8983     * </ul>
8984     *
8985     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
8986     */
8987    @Test
8988    public void testVN2000() throws FactoryException {
8989        code              = 6756;
8990        name              = "Vietnam 2000";
8991        crsName           = "VN-2000";
8992        ellipsoidName     = "WGS 84";
8993        primeMeridianName = "Greenwich";
8994        verifyDatum();
8995        createAndVerifyGeographicCRS(4756, GEOGRAPHIC_2D);
8996    }
8997
8998    /**
8999     * Tests “Voirol 1879” geodetic datum creation from the factory.
9000     *
9001     * <ul>
9002     *   <li>EPSG datum code: <b>6671</b></li>
9003     *   <li>EPSG datum name: <b>Voirol 1879</b></li>
9004     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
9005     *   <li>Prime meridian name: <b>Greenwich</b></li>
9006     *   <li>CRS using the datum: <b>Voirol 1879</b></li>
9007     * </ul>
9008     *
9009     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9010     */
9011    @Test
9012    public void testVoirol1879() throws FactoryException {
9013        code              = 6671;
9014        name              = "Voirol 1879";
9015        crsName           = "Voirol 1879";
9016        ellipsoidName     = "Clarke 1880 (IGN)";
9017        primeMeridianName = "Greenwich";
9018        verifyDatum();
9019        createAndVerifyGeographicCRS(4671, GEOGRAPHIC_2D);
9020    }
9021
9022    /**
9023     * Tests “Voirol 1879 (Paris)” geodetic datum creation from the factory.
9024     *
9025     * <ul>
9026     *   <li>EPSG datum code: <b>6821</b></li>
9027     *   <li>EPSG datum name: <b>Voirol 1879 (Paris)</b></li>
9028     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
9029     *   <li>Prime meridian name: <b>Paris</b></li>
9030     *   <li>CRS using the datum: <b>Voirol 1879 (Paris)</b></li>
9031     * </ul>
9032     *
9033     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9034     */
9035    @Test
9036    public void testVoirol1879_Paris() throws FactoryException {
9037        code              = 6821;
9038        name              = "Voirol 1879 (Paris)";
9039        crsName           = "Voirol 1879 (Paris)";
9040        ellipsoidName     = "Clarke 1880 (IGN)";
9041        primeMeridianName = "Paris";
9042        verifyDatum();
9043        createAndVerifyGeographicCRS(4821, GEOGRAPHIC_2D);
9044    }
9045
9046    /**
9047     * Tests “Wake Island 1952” geodetic datum creation from the factory.
9048     *
9049     * <ul>
9050     *   <li>EPSG datum code: <b>6733</b></li>
9051     *   <li>EPSG datum name: <b>Wake Island 1952</b></li>
9052     *   <li>Ellipsoid name: <b>International 1924</b></li>
9053     *   <li>Prime meridian name: <b>Greenwich</b></li>
9054     *   <li>CRS using the datum: <b>Wake Island 1952</b></li>
9055     * </ul>
9056     *
9057     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9058     */
9059    @Test
9060    public void testWakeIsland() throws FactoryException {
9061        code              = 6733;
9062        name              = "Wake Island 1952";
9063        crsName           = "Wake Island 1952";
9064        ellipsoidName     = "International 1924";
9065        primeMeridianName = "Greenwich";
9066        verifyDatum();
9067        createAndVerifyGeographicCRS(4733, GEOGRAPHIC_2D);
9068    }
9069
9070    /**
9071     * Tests “World Geodetic System 1966” geodetic datum creation from the factory.
9072     *
9073     * <ul>
9074     *   <li>EPSG datum code: <b>6760</b></li>
9075     *   <li>EPSG datum name: <b>World Geodetic System 1966</b></li>
9076     *   <li>Ellipsoid name: <b>NWL 9D</b></li>
9077     *   <li>Prime meridian name: <b>Greenwich</b></li>
9078     *   <li>CRS using the datum: <b>WGS 66</b></li>
9079     * </ul>
9080     *
9081     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9082     */
9083    @Test
9084    public void testWGS66() throws FactoryException {
9085        code              = 6760;
9086        name              = "World Geodetic System 1966";
9087        crsName           = "WGS 66";
9088        ellipsoidName     = "NWL 9D";
9089        primeMeridianName = "Greenwich";
9090        verifyDatum();
9091        createAndVerifyGeographicCRS(4760, GEOGRAPHIC_2D);
9092    }
9093
9094    /**
9095     * Tests “Yacare” geodetic datum creation from the factory.
9096     *
9097     * <ul>
9098     *   <li>EPSG datum code: <b>6309</b></li>
9099     *   <li>EPSG datum name: <b>Yacare</b></li>
9100     *   <li>Ellipsoid name: <b>International 1924</b></li>
9101     *   <li>Prime meridian name: <b>Greenwich</b></li>
9102     *   <li>CRS using the datum: <b>Yacare</b></li>
9103     * </ul>
9104     *
9105     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9106     */
9107    @Test
9108    public void testYacare() throws FactoryException {
9109        code              = 6309;
9110        name              = "Yacare";
9111        crsName           = "Yacare";
9112        ellipsoidName     = "International 1924";
9113        primeMeridianName = "Greenwich";
9114        verifyDatum();
9115        createAndVerifyGeographicCRS(4309, GEOGRAPHIC_2D);
9116    }
9117
9118    /**
9119     * Tests “Yoff” geodetic datum creation from the factory.
9120     *
9121     * <ul>
9122     *   <li>EPSG datum code: <b>6310</b></li>
9123     *   <li>EPSG datum name: <b>Yoff</b></li>
9124     *   <li>Ellipsoid name: <b>Clarke 1880 (IGN)</b></li>
9125     *   <li>Prime meridian name: <b>Greenwich</b></li>
9126     *   <li>CRS using the datum: <b>Yoff</b></li>
9127     * </ul>
9128     *
9129     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9130     */
9131    @Test
9132    public void testYoff() throws FactoryException {
9133        code              = 6310;
9134        name              = "Yoff";
9135        crsName           = "Yoff";
9136        ellipsoidName     = "Clarke 1880 (IGN)";
9137        primeMeridianName = "Greenwich";
9138        verifyDatum();
9139        createAndVerifyGeographicCRS(4310, GEOGRAPHIC_2D);
9140    }
9141
9142    /**
9143     * Tests “Zanderij” geodetic datum creation from the factory.
9144     *
9145     * <ul>
9146     *   <li>EPSG datum code: <b>6311</b></li>
9147     *   <li>EPSG datum name: <b>Zanderij</b></li>
9148     *   <li>Ellipsoid name: <b>International 1924</b></li>
9149     *   <li>Prime meridian name: <b>Greenwich</b></li>
9150     *   <li>CRS using the datum: <b>Zanderij</b></li>
9151     * </ul>
9152     *
9153     * @throws FactoryException if an error occurred while creating the datum or a CRS from the EPSG code.
9154     */
9155    @Test
9156    public void testZanderij() throws FactoryException {
9157        code              = 6311;
9158        name              = "Zanderij";
9159        crsName           = "Zanderij";
9160        ellipsoidName     = "International 1924";
9161        primeMeridianName = "Greenwich";
9162        verifyDatum();
9163        createAndVerifyGeographicCRS(4311, GEOGRAPHIC_2D);
9164    }
9165}