summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2019-02-22 14:59:37 -0800
committerGary E. Miller <gem@rellim.com>2019-02-22 14:59:37 -0800
commit1db29a3fa49eca5929ba03346eac7cd49f58e86d (patch)
tree290d2a67cac87a289d390cb01a938fb74ecc0413 /tests
parent99835709b0f9bc8a39bf2736e78a2690dd636d4b (diff)
downloadgpsd-1db29a3fa49eca5929ba03346eac7cd49f58e86d.tar.gz
deg_to_s(): Add rounding for dd, ddmm, and ddmmss. Update tests.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_gpsdclient.c70
1 files changed, 44 insertions, 26 deletions
diff --git a/tests/test_gpsdclient.c b/tests/test_gpsdclient.c
index 6f81633f..c65b35f6 100644
--- a/tests/test_gpsdclient.c
+++ b/tests/test_gpsdclient.c
@@ -24,39 +24,57 @@ struct test {
};
struct test tests[] = {
- /* 1 degree, 1 arcminute, 1.999 arcsec */
- {(1.0 + 1.0/60.0 + 1.999/3600.0),
- " 1.01722194",
- " 1 01.033316'",
- " 1 01' 01.99899\""},
- /* 1 deg, 2 min, 2.0999 sec */
- {(1.0 + 2.0/60.0 + 2.999/3600.0),
- " 1.03416638",
- " 1 02.049983'",
- " 1 02' 02.99900\""},
- /* 44.99999994, should not be rounded up */
- {44.99999994,
- " 44.99999994",
- " 44 59.999996'",
- " 44 59' 59.99978\""},
- /* 44.99999999999 */
- /* FIXME: s/b rounded */
- {44.99999999999,
- " 44.99999999",
- " 44 59.999999'",
- " 44 59' 59.99999\""},
+ /* 1.999999995 sec */
+ {(1.999999995),
+ " 2.00000000", /* rounded up */
+ " 2 00.000000'", /* rounded up */
+ " 1 59' 59.99998\""},
+ /* 3.999999999 sec */
+ {(3.999999994),
+ " 3.99999999", /* not rounded up */
+ " 4 00.000000'", /* rounded up */
+ " 3 59' 59.99998\""},
+ /* 5 degree, 1.99999960 arcmin */
+ {(5.0 + 1.999999600/60.0),
+ " 5.03333333",
+ " 5 02.000000'", /* rounded up */
+ " 5 01' 59.99998\""},
+ /* 6 degree, 1.99999940 arcmin */
+ {(6.0 + 1.999999400/60.0),
+ " 6.03333332",
+ " 6 01.999999'", /* not rounded up */
+ " 6 01' 59.99996\""},
+ /* 7 degree, 59.99999960 arcmin */
+ {(7.0 + 59.999999600/60.0),
+ " 7.99999999",
+ " 8 00.000000'", /* rounded up */
+ " 7 59' 59.99998\""},
+ /* 9 degree, 59.99999940 arcmin */
+ {(9.0 + 59.999999400/60.0),
+ " 9.99999999",
+ " 9 59.999999'", /* not rounded up */
+ " 9 59' 59.99996\""},
+ /* 11 degree, 1 arcminute, 1.99999600 arcsec */
+ {(11.0 + 1.0/60.0 + 1.99999600/3600.0),
+ " 11.01722222",
+ " 11 01.033333'",
+ " 11 01' 02.00000\""}, /* rounded up */
+ /* 12 deg, 2 min, 2.99999400 sec */
+ {(12.0 + 2.0/60.0 + 2.99999400/3600.0),
+ " 12.03416667",
+ " 12 02.050000'",
+ " 12 02' 02.99999\""}, /* not rounded up */
/* -44.99999999999 */
- /* FIXME: should not be nan? */
+ /* nan because not positive degrees */
{-44.99999999999,
"nan",
"nan",
"nan"},
/* 359.99999999999 */
- /* FIXME: s/b rounded */
{359.99999999999,
- "359.99999999",
- "359 59.999999'",
- "359 59' 59.99999\""},
+ " 0.00000000", /* rounded up, and rolled over */
+ " 0 00.000000'",
+ " 0 00' 00.00000\""},
};