|
1 | 1 | from uuid import uuid4 |
2 | | -from datetime import datetime |
| 2 | +from datetime import datetime, timezone |
3 | 3 |
|
4 | 4 | from pynwb import NWBFile, ProcessingModule |
5 | 5 | from pynwb.file import Subject |
|
18 | 18 | check_subject_age, |
19 | 19 | check_subject_species, |
20 | 20 | check_processing_module_name, |
| 21 | + check_session_start_time_old_date, |
| 22 | + check_session_start_time_future_date, |
21 | 23 | PROCESSING_MODULE_CONFIG, |
22 | 24 | ) |
23 | 25 | from nwbinspector.tools import make_minimal_nwbfile |
|
26 | 28 | minimal_nwbfile = make_minimal_nwbfile() |
27 | 29 |
|
28 | 30 |
|
| 31 | +def test_check_session_start_time_old_date_pass(): |
| 32 | + assert check_session_start_time_old_date(minimal_nwbfile) is None |
| 33 | + |
| 34 | + |
| 35 | +def test_check_session_start_time_old_date_fail(): |
| 36 | + nwbfile = NWBFile( |
| 37 | + session_description="", |
| 38 | + identifier=str(uuid4()), |
| 39 | + session_start_time=datetime(1970, 1, 1, 0, 0, 0, 0, timezone.utc), |
| 40 | + ) |
| 41 | + assert check_session_start_time_old_date(nwbfile) == InspectorMessage( |
| 42 | + message="The session_start_time (1970-01-01 00:00:00+00:00) may not be set to the true date of the recording.", |
| 43 | + importance=Importance.BEST_PRACTICE_SUGGESTION, |
| 44 | + check_function_name="check_session_start_time_old_date", |
| 45 | + object_type="NWBFile", |
| 46 | + object_name="root", |
| 47 | + location="/", |
| 48 | + ) |
| 49 | + |
| 50 | + |
| 51 | +def test_check_session_start_time_future_date_pass(): |
| 52 | + nwbfile = NWBFile(session_description="", identifier=str(uuid4()), session_start_time=datetime(2010, 1, 1)) |
| 53 | + assert check_session_start_time_future_date(nwbfile) is None |
| 54 | + |
| 55 | + |
| 56 | +def test_check_session_start_time_future_date_fail(): |
| 57 | + nwbfile = NWBFile( |
| 58 | + session_description="", |
| 59 | + identifier=str(uuid4()), |
| 60 | + session_start_time=datetime(2030, 1, 1, 0, 0, 0, 0, timezone.utc), |
| 61 | + ) |
| 62 | + assert check_session_start_time_future_date(nwbfile) == InspectorMessage( |
| 63 | + message="The session_start_time (2030-01-01 00:00:00+00:00) is set to a future date and time.", |
| 64 | + importance=Importance.CRITICAL, |
| 65 | + check_function_name="check_session_start_time_future_date", |
| 66 | + object_type="NWBFile", |
| 67 | + object_name="root", |
| 68 | + location="/", |
| 69 | + ) |
| 70 | + |
| 71 | + |
29 | 72 | def test_check_experimenter(): |
30 | 73 | assert check_experimenter(minimal_nwbfile) == InspectorMessage( |
31 | 74 | message="Experimenter is missing.", |
|
0 commit comments