"""Smoke-test read_idf_file across the sample corpus.""" from __future__ import annotations import sys from pathlib import Path REPO = Path(__file__).resolve().parents[1] sys.path.insert(0, str(REPO)) from micromate.idf_file import read_idf_file, geo_count_to_ips, mic_count_to_psi def main(): target = REPO / "tests/fixtures/THORDATA_example/THORDATA_example/UPMC Presby/UM11719/UM11719_20231219162723.IDFW" result = read_idf_file(target) ev = result.event print(f"=== {target.name} ===") print(f" signature: {result.signature}") print(f" serial: {ev.serial}") print(f" timestamp: {ev.timestamp}") print(f" sample_rate: {ev.sample_rate}") print(f" record_time: {ev.record_time_sec}") print(f" calibration: {result.binary_metadata.calibration_date}") print(f" Tran samples: {len(result.samples['Tran'])}, peak_ips={ev.peaks.transverse_ips:.4f}") print(f" Vert samples: {len(result.samples['Vert'])}, peak_ips={ev.peaks.vertical_ips:.4f}") print(f" Long samples: {len(result.samples['Long'])}, peak_ips={ev.peaks.longitudinal_ips:.4f}") print(f" MicL samples: {len(result.samples['MicL'])}") print() # Corpus sweep root = REPO / "tests/fixtures/THORDATA_example" files = [f for f in root.rglob("*.IDFW") if not str(f).endswith(".CDB")] ok = fail = nyi = 0 for f in files: try: r = read_idf_file(f) ok += 1 except NotImplementedError: nyi += 1 except Exception as exc: fail += 1 if fail <= 5: print(f" FAIL: {f.name}: {type(exc).__name__}: {exc}") print() print(f"Corpus: {len(files)} IDFW files | ok={ok} fail={fail} not-implemented={nyi}") if __name__ == "__main__": main()