@@ -275,48 +275,55 @@ def test_extract_ephemeris_dates():
275275 # check basic case
276276 noon_utc = datetime (2023 , 7 , 27 , 12 , 0 , 0 , 0 , tzinfo = timezone .utc )
277277 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([noon_utc ]))
278- assert dates == { datetime (2023 , 7 , 27 ).date ()}
278+ assert dates == [ datetime (2023 , 7 , 27 ).date ()]
279279
280280 # check that timezone conversion is happening
281281 eleven_pt = datetime (2023 , 7 , 26 , 23 , 0 , 0 , 0 ,
282282 tzinfo = timezone (- timedelta (hours = 8 )))
283283 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([eleven_pt ]))
284- assert dates == { datetime (2023 , 7 , 27 ).date ()}
284+ assert dates == [ datetime (2023 , 7 , 27 ).date ()]
285285
286286 # check add prev day if after before 2am
287287 for hour in [0 ,1 ,2 ]:
288288 two_am_utc = datetime (2023 , 7 , 27 , hour , 0 , 0 , 0 , tzinfo = timezone .utc )
289289 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([two_am_utc ]))
290- assert dates == { datetime (2023 , 7 , 26 ).date (),
291- datetime (2023 , 7 , 27 ).date ()}
290+ assert dates == [ datetime (2023 , 7 , 26 ).date (),
291+ datetime (2023 , 7 , 27 ).date ()]
292292
293293 # check add next day if after 10pm
294294 for hour in [22 ,23 ]:
295295 ten_pm_utc = datetime (2023 , 7 , 26 , hour , 0 , 0 , 0 , tzinfo = timezone .utc )
296296 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([ten_pm_utc ]))
297- assert dates == { datetime (2023 , 7 , 26 ).date (),
298- datetime (2023 , 7 , 27 ).date ()}
297+ assert dates == [ datetime (2023 , 7 , 26 ).date (),
298+ datetime (2023 , 7 , 27 ).date ()]
299299
300300 # check don't add next day if after 10pm on current day
301301 ten_pm_utc_today = datetime .combine (datetime .utcnow ().date (),
302302 time (22 ,tzinfo = timezone .utc ))
303303 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([ten_pm_utc_today ]))
304- assert dates == { datetime .utcnow ().date ()}
304+ assert dates == [ datetime .utcnow ().date ()]
305305
306306 # check that across multiple days there aren't duplicates
307307 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([noon_utc ,
308308 eleven_pt ,
309309 two_am_utc ,
310310 ten_pm_utc ]))
311- assert dates == {datetime (2023 , 7 , 26 ).date (),
312- datetime (2023 , 7 , 27 ).date ()}
311+ assert dates == [datetime (2023 , 7 , 26 ).date (),
312+ datetime (2023 , 7 , 27 ).date ()]
313+
314+ # test order is maintained in sorted order
315+ dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([noon_utc + timedelta (days = 1 ),
316+ noon_utc ,
317+ ]))
318+ assert dates == [datetime (2023 , 7 , 27 ).date (),
319+ datetime (2023 , 7 , 28 ).date ()]
313320
314321 # check for two separate days
315322 noon_utc_01 = datetime (2023 , 7 , 1 , 12 , 0 , 0 , 0 , tzinfo = timezone .utc )
316323 dates = ed ._extract_ephemeris_dates ("rinex_nav" , np .array ([noon_utc ,
317324 noon_utc_01 ]))
318- assert dates == { datetime (2023 , 7 , 27 ).date (),
319- datetime (2023 , 7 , 1 ).date ()}
325+ assert dates == [ datetime (2023 , 7 , 1 ).date (),
326+ datetime (2023 , 7 , 27 ).date ()]
320327
321328def test_ftp_errors (ephem_download_path ):
322329 """Test FTP download errors.
0 commit comments