Skip to content

Commit 3c9986e

Browse files
committed
Fix pytests
1 parent eab1d4e commit 3c9986e

3 files changed

Lines changed: 13 additions & 48 deletions

File tree

rocketpy/rocket/aero_surface/linear_generic_surface.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def __init__(
169169
# Populate the coefficients from the list of constants if they are not defined
170170
if coefficients is None:
171171
coefficients = self._get_default_coefficients()
172-
if coefficient_constants is not None:
172+
if coefficient_constants:
173173
assert len(coefficient_constants) == len(
174174
self._get_default_coefficients()
175175
), (

tests/unit/sensors/test_sensor.py

Lines changed: 10 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -381,70 +381,35 @@ def test_noisy_barometer(noisy_barometer, example_plain_env):
381381

382382
def test_noisy_gnss(noisy_gnss, example_plain_env):
383383
"""Test the measure method of the GnssReceiver class. Checks if saved
384-
measurement is (latitude, longitude, altitude) and if measured_data is [(t, (latitude, longitude, altitude)), ...]
384+
measurement is (x, y, z, vx, vy, vz) and if measured_data is [(t, x, y, z, vx, vy, vz), ...]
385385
"""
386386
# expected measurement without noise
387387
relative_position = Vector([0.4, 0.4, 1])
388-
lat, lon = example_plain_env.latitude, example_plain_env.longitude
389-
earth_radius = example_plain_env.earth_radius
390388
x, y, z = (Matrix.transformation(U[6:10]) @ relative_position) + Vector(U[0:3])
391-
drift = (x**2 + y**2) ** 0.5
392-
bearing = (2 * np.pi - np.arctan2(-x, y)) * (180 / np.pi)
393-
latitude = np.degrees(
394-
np.arcsin(
395-
np.sin(np.radians(lat)) * np.cos(drift / earth_radius)
396-
+ np.cos(np.radians(lat))
397-
* np.sin(drift / earth_radius)
398-
* np.cos(np.radians(bearing))
399-
)
400-
)
401-
longitude = np.degrees(
402-
np.radians(lon)
403-
+ np.arctan2(
404-
np.sin(np.radians(bearing))
405-
* np.sin(drift / earth_radius)
406-
* np.cos(np.radians(lat)),
407-
np.cos(drift / earth_radius)
408-
- np.sin(np.radians(lat)) * np.sin(np.radians(latitude)),
409-
)
410-
)
411-
altitude = z
389+
vx, vy, vz = (
390+
Matrix.transformation(U[6:10])
391+
@ Vector.cross(Vector(U[10:13]), relative_position)
392+
) + Vector(U[3:6])
412393

413394
noisy_gnss.measure(
414395
time=TIME,
415396
u=U,
416397
relative_position=relative_position,
417398
environment=example_plain_env,
418399
)
419-
assert noisy_gnss.measurement == approx([latitude, longitude, altitude], abs=3.2)
420-
assert len(noisy_gnss.measurement) == 3
421-
assert noisy_gnss.measured_data[0][1:] == approx(
422-
[latitude, longitude, altitude], abs=3.2
423-
)
400+
assert noisy_gnss.measurement == approx([x, y, z, vx, vy, vz], abs=2.0)
401+
assert len(noisy_gnss.measurement) == 6
402+
assert noisy_gnss.measured_data[0][1:] == approx([x, y, z, vx, vy, vz], abs=2.0)
424403
assert noisy_gnss.measured_data[0][0] == TIME
425404

426-
# check last measurement considering noise error bounds
427-
noisy_gnss.measure(
428-
time=TIME,
429-
u=U,
430-
relative_position=relative_position,
431-
environment=example_plain_env,
432-
)
433-
assert noisy_gnss.measurement == approx([latitude, longitude, altitude], abs=3.2)
434-
assert len(noisy_gnss.measurement) == 3
435-
assert noisy_gnss.measured_data[1][1:] == approx(
436-
[latitude, longitude, altitude], abs=3.2
437-
)
438-
assert noisy_gnss.measured_data[1][0] == TIME
439-
440405

441406
@pytest.mark.parametrize(
442407
"sensor, file_format, expected_header",
443408
[
444409
("ideal_accelerometer", "csv", "t,ax,ay,az\n"),
445410
("ideal_gyroscope", "csv", "t,wx,wy,wz\n"),
446411
("ideal_barometer", "csv", "t,pressure\n"),
447-
("ideal_gnss", "csv", "t,latitude,longitude,altitude\n"),
412+
("ideal_gnss", "csv", "t,x,y,z,vx,vy,vz\n"),
448413
],
449414
)
450415
def test_export_data_csv(
@@ -485,7 +450,7 @@ def test_export_data_csv(
485450
("ideal_accelerometer", "json", ("ax", "ay", "az")),
486451
("ideal_gyroscope", "json", ("wx", "wy", "wz")),
487452
("ideal_barometer", "json", ("pressure",)),
488-
("ideal_gnss", "json", ("latitude", "longitude", "altitude")),
453+
("ideal_gnss", "json", ("x", "y", "z", "vx", "vy", "vz")),
489454
],
490455
)
491456
def test_export_data_json(

tests/unit/simulation/test_flight.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def test_export_sensor_data(flight_calisto_with_sensors):
210210
@pytest.mark.parametrize(
211211
"flight_time, expected_values",
212212
[
213-
("t_initial", (0.25886, -0.649623, 0)),
213+
("t_initial", (0.05072660158631715, -0.12730092240875748, 0)),
214214
("out_of_rail_time", (0.792028, -1.987634, 0)),
215215
("apogee_time", (-0.509420, -0.732933, -2.089120e-14)),
216216
("t_final", (0, 0, 0)),
@@ -249,7 +249,7 @@ def test_aerodynamic_moments(flight_calisto_custom_wind, flight_time, expected_v
249249
@pytest.mark.parametrize(
250250
"flight_time, expected_values",
251251
[
252-
("t_initial", (1.654150, 0.659142, -0.067103)),
252+
("t_initial", (0.32414923451082056, 0.12916629952407094, -0.067103)),
253253
("out_of_rail_time", (5.052628, 2.013361, -1.75370)),
254254
("apogee_time", (2.321838, -1.613641, -0.962108)),
255255
("t_final", (-0.019802, 0.012030, 159.051604)),

0 commit comments

Comments
 (0)