diff options
author | Gary E. Miller <gem@rellim.com> | 2019-02-22 14:59:37 -0800 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2019-02-22 14:59:37 -0800 |
commit | 1db29a3fa49eca5929ba03346eac7cd49f58e86d (patch) | |
tree | 290d2a67cac87a289d390cb01a938fb74ecc0413 /tests | |
parent | 99835709b0f9bc8a39bf2736e78a2690dd636d4b (diff) | |
download | gpsd-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.c | 70 |
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\""}, }; |