/*******************************************************************************
* Copyright (c) MOBAC developers
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package unittests;
import junit.framework.TestCase;
import mobac.utilities.Utilities;
import mobac.utilities.geo.CoordinateDm2Format;
import mobac.utilities.geo.CoordinateDms2Format;
public class CordinateTestCase extends TestCase {
public CordinateTestCase() {
super();
}
public void testCoordinateDm2Format() throws Exception {
CoordinateDm2Format cf = new CoordinateDm2Format(Utilities.DFS_ENG);
assertEquals("03° 30.00'", cf.format(3.5d));
assertEquals("-03° 30.00'", cf.format(-3.5d));
assertEquals("-20° 06.00'", cf.format(-20.1d));
assertEquals("20° 06.00'", cf.format(20.1d));
assertEquals("-13° 54.00'", cf.format(-13.9d));
assertEquals("13° 54.00'", cf.format(13.9d));
assertEquals("00° 06.00'", cf.format(0.1d));
assertEquals("-00° 06.00'", cf.format(-0.1d));
assertEquals(-4.25, cf.parse("-04° 15.0'"));
assertEquals(+4.25, cf.parse("+04° 15.0'"));
assertEquals(-20.1, cf.parse("-20° 6'"));
assertEquals(+20.1, cf.parse("+20° 6'"));
assertEquals(-13.9, cf.parse("-13° 54'"));
assertEquals(+13.9, cf.parse("+13° 54'"));
assertEquals(-0.1, cf.parse("-00° 06'"));
assertEquals(+0.1, cf.parse("+00° 06'"));
}
public void testCoordinateDms2Format() throws Exception {
CoordinateDms2Format cf = new CoordinateDms2Format(Utilities.DFS_ENG);
assertEquals("03° 32' 59.99\"", cf.format(3.55d));
assertEquals("-03° 32' 59.99\"", cf.format(-3.55d));
assertEquals("-20° 06' 35.99\"", cf.format(-20.11d));
assertEquals("20° 06' 35.99\"", cf.format(20.11d));
assertEquals("-13° 59' 24.00\"", cf.format(-13.99d));
assertEquals("13° 59' 24.00\"", cf.format(13.99d));
assertEquals("00° 06' 00.00\"", cf.format(0.1d));
assertEquals("-00° 06' 00.00\"", cf.format(-0.1d));
assertEquals(-3.55, cf.parse("-03° 32' 60.00\""));
assertEquals(+3.55, cf.parse("+03° 32' 60.00\""));
assertEquals(-2011, (int) (cf.parse("-20° 6' 36\"").doubleValue() * 100d));
assertEquals(+2011, (int) (cf.parse("+20° 6' 36\"").doubleValue() * 100d));
assertEquals(-1390, (int) (cf.parse("-13° 54' 24\"").doubleValue() * 100));
assertEquals(+1390, (int) (cf.parse("+13° 54' 24\"").doubleValue() * 100));
assertEquals(-0.1, cf.parse("-00° 06' 0\""));
assertEquals(+0.1, cf.parse("+00° 06' 0\""));
}
}