Skip to content

Commit 01ced36

Browse files
committed
test_aer: scalar output verify
1 parent ae99bac commit 01ced36

File tree

1 file changed

+43
-28
lines changed

1 file changed

+43
-28
lines changed

src/pymap3d/tests/test_aer.py

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,20 @@
1313
"aer,lla,xyz", [((33, 70, 1000), (42, -82, 200), (660930.2, -4701424.0, 4246579.6))]
1414
)
1515
def test_aer2ecef(aer, lla, xyz):
16-
x, y, z = pm.aer2ecef(*aer, *lla)
17-
assert x == approx(xyz[0])
18-
assert y == approx(xyz[1])
19-
assert z == approx(xyz[2])
20-
assert isinstance(x, float)
21-
assert isinstance(y, float)
22-
assert isinstance(z, float)
16+
# degrees
17+
xyz1 = pm.aer2ecef(*aer, *lla)
18+
assert xyz1 == approx(xyz)
19+
assert all(isinstance(n, float) for n in xyz1)
20+
# float includes np.float64 i.e. a scalar
2321

22+
# radians
2423
raer = (radians(aer[0]), radians(aer[1]), aer[2])
2524
rlla = (radians(lla[0]), radians(lla[1]), lla[2])
26-
assert pm.aer2ecef(*raer, *rlla, deg=False) == approx(xyz)
25+
xyz1 = pm.aer2ecef(*raer, *rlla, deg=False)
26+
assert xyz1 == approx(xyz)
27+
assert all(isinstance(n, float) for n in xyz1)
2728

29+
# bad input
2830
with pytest.raises(ValueError):
2931
pm.aer2ecef(aer[0], aer[1], -1, *lla)
3032

@@ -42,45 +44,58 @@ def test_aer2ecef(aer, lla, xyz):
4244
],
4345
)
4446
def test_ecef2aer(xyz, lla, aer):
45-
assert pm.ecef2aer(*xyz, *lla) == approx(aer)
47+
# degrees
48+
aer1 = pm.ecef2aer(*xyz, *lla)
49+
assert aer1 == approx(aer)
50+
assert all(isinstance(n, float) for n in aer1)
4651

52+
# radians
4753
rlla = (radians(lla[0]), radians(lla[1]), lla[2])
4854
raer = (radians(aer[0]), radians(aer[1]), aer[2])
49-
assert pm.ecef2aer(*xyz, *rlla, deg=False) == approx(raer)
55+
aer1 = pm.ecef2aer(*xyz, *rlla, deg=False)
56+
assert aer1 == approx(raer)
57+
assert all(isinstance(n, float) for n in aer1)
5058

5159

5260
@pytest.mark.parametrize("aer,enu", [((33, 70, 1000), (186.2775, 286.8422, 939.6926))])
5361
def test_aer_enu(aer, enu):
54-
e, n, u = pm.aer2enu(*aer)
55-
assert e == approx(enu[0])
56-
assert n == approx(enu[1])
57-
assert u == approx(enu[2])
58-
assert isinstance(e, float)
59-
assert isinstance(n, float)
60-
assert isinstance(u, float)
62+
# degrees
63+
enu1 = pm.aer2enu(*aer)
64+
assert enu1 == approx(enu)
65+
assert all(isinstance(n, float) for n in enu1)
6166

67+
# radians
6268
raer = (radians(aer[0]), radians(aer[1]), aer[2])
63-
assert pm.aer2enu(*raer, deg=False) == approx(enu)
69+
enu1 = pm.aer2enu(*raer, deg=False)
70+
assert enu1 == approx(enu)
71+
assert all(isinstance(n, float) for n in enu1)
6472

73+
# bad input
6574
with pytest.raises(ValueError):
6675
pm.aer2enu(aer[0], aer[1], -1)
6776

68-
a, e, r = pm.enu2aer(*enu)
69-
assert a == approx(aer[0])
70-
assert e == approx(aer[1])
71-
assert r == approx(aer[2])
72-
assert isinstance(a, float)
73-
assert isinstance(e, float)
74-
assert isinstance(r, float)
77+
# degrees
78+
aer1 = pm.enu2aer(*enu)
79+
assert aer1 == approx(aer)
80+
assert all(isinstance(n, float) for n in aer1)
7581

76-
assert pm.enu2aer(*enu, deg=False) == approx(raer)
82+
# radians
83+
aer1 = pm.enu2aer(*enu, deg=False)
84+
assert aer1 == approx(raer)
85+
assert all(isinstance(n, float) for n in aer1)
7786

7887

7988
@pytest.mark.parametrize("aer,ned", [((33, 70, 1000), (286.8422, 186.2775, -939.6926))])
8089
def test_aer_ned(aer, ned):
81-
assert pm.aer2ned(*aer) == approx(ned)
8290

91+
ned1 = pm.aer2ned(*aer)
92+
assert ned1 == approx(ned)
93+
assert all(isinstance(n, float) for n in ned1)
94+
95+
# bad value
8396
with pytest.raises(ValueError):
8497
pm.aer2ned(aer[0], aer[1], -1)
8598

86-
assert pm.ned2aer(*ned) == approx(aer)
99+
aer1 = pm.ned2aer(*ned)
100+
assert aer1 == approx(aer)
101+
assert all(isinstance(n, float) for n in aer1)

0 commit comments

Comments
 (0)