diff --git a/tests/data/goldens/README.md b/tests/data/goldens/README.md index 22912048..b8729f5e 100644 --- a/tests/data/goldens/README.md +++ b/tests/data/goldens/README.md @@ -20,6 +20,9 @@ Full convention, naming rules, and how to add suites: [`../../README.md`](../../ | `loader_neware_txt` | `testdata/data/neware_uio.csv` | `raw.parquet`, `raw_units.json`, `meta.json`, `metrics.json` | | `loader_pec_csv` | `testdata/data/pec.csv` | `raw.parquet`, `raw_units.json`, `meta.json`, `metrics.json` | | `loader_custom` | `testdata/data/custom_data_001.csv` + `custom_instrument_001.yml` | `raw.parquet`, `raw_units.json`, `meta.json`, `metrics.json` | +| `loader_biologics_mpr` | `testdata/data/biol.mpr` | `raw.parquet`, `raw_units.json`, `meta.json`, `metrics.json` | +| `loader_batmo_bdf` | `testdata/data/batmo_bdf.csv` | `raw.parquet`, `raw_units.json`, `meta.json`, `metrics.json` | +| `loader_arbin_sql_h5` | `testdata/data/20200624_test001_cc_01.h5` | `raw.parquet`, `raw_units.json`, `meta.json`, `metrics.json` | | `curve_get_cap_*`, `curve_get_ccap_*`, `curve_get_dcap_*`, `curve_get_ocv_*` | `testdata/data/20160805_test001_45_cc_01.res` (via cellpy pipeline) | `curve.parquet`, `metrics.json`; `null_data.json` for NullData cases | | `ica_dqdv_*` | `testdata/data/20160805_test001_45_cc_01.res` (via cellpy pipeline) | `ica.parquet`, `metrics.json` | diff --git a/tests/data/goldens/loader_arbin_sql_h5/meta.json b/tests/data/goldens/loader_arbin_sql_h5/meta.json new file mode 100644 index 00000000..4558f402 --- /dev/null +++ b/tests/data/goldens/loader_arbin_sql_h5/meta.json @@ -0,0 +1,53 @@ +{ + "meta_common": { + "active_electrode_area": 1.0, + "active_electrode_current_collector": "standard", + "active_electrode_loading": 1.0, + "active_electrode_thickness": 1.0, + "active_electrode_type": "standard", + "cell_name": "20200624_test001_cc_01", + "cell_type": "standard", + "cellpy_file_version": 8, + "comment": "", + "counter_electrode_type": "standard", + "electrolyte_type": "standard", + "electrolyte_volume": 1.0, + "experiment_type": "cycling", + "file_errors": null, + "mass": 0.009999999776482582, + "material": "silicon", + "nom_cap": 3.5999999046325684, + "nom_cap_specifics": "gravimetric", + "raw_id": null, + "reference_electrode_current_collector": "standard", + "reference_electrode_type": "standard", + "separator_type": "standard", + "start_datetime": "2020-06-24T14:25:33.460200", + "tester_ID": null, + "tester_calibration_date": null, + "tester_client_software_version": null, + "tester_server_software_version": null, + "time_zone": null, + "tot_mass": 1.0 + }, + "meta_test_dependent": { + "channel_index": 2, + "creator": null, + "cycle_mode": "anode", + "test_ID": 1, + "test_type": null, + "voltage_lim_high": 1.0, + "voltage_lim_low": 0.0 + }, + "raw_limits": { + "current_hard": 1e-13, + "current_soft": 1e-05, + "ir_change": 1e-05, + "stable_charge_hard": 0.9, + "stable_charge_soft": 5.0, + "stable_current_hard": 2.0, + "stable_current_soft": 4.0, + "stable_voltage_hard": 2.0, + "stable_voltage_soft": 4.0 + } +} diff --git a/tests/data/goldens/loader_arbin_sql_h5/metrics.json b/tests/data/goldens/loader_arbin_sql_h5/metrics.json new file mode 100644 index 00000000..c173d49a --- /dev/null +++ b/tests/data/goldens/loader_arbin_sql_h5/metrics.json @@ -0,0 +1,7 @@ +{ + "instrument": "arbin_sql_h5", + "n_columns": 16, + "n_rows": 47, + "source": "testdata/data/20200624_test001_cc_01.h5", + "suite": "loader_arbin_sql_h5" +} diff --git a/tests/data/goldens/loader_arbin_sql_h5/raw.parquet b/tests/data/goldens/loader_arbin_sql_h5/raw.parquet new file mode 100644 index 00000000..69bea6f1 Binary files /dev/null and b/tests/data/goldens/loader_arbin_sql_h5/raw.parquet differ diff --git a/tests/data/goldens/loader_arbin_sql_h5/raw_units.json b/tests/data/goldens/loader_arbin_sql_h5/raw_units.json new file mode 100644 index 00000000..89af24e8 --- /dev/null +++ b/tests/data/goldens/loader_arbin_sql_h5/raw_units.json @@ -0,0 +1,20 @@ +{ + "area": "cm**2", + "charge": "Ah", + "current": "A", + "energy": "Wh", + "frequency": "hz", + "length": "cm", + "mass": "g", + "nominal_capacity": "Ah/g", + "power": "W", + "pressure": "bar", + "resistance": "ohm", + "specific_areal": "cm**2", + "specific_gravimetric": "g", + "specific_volumetric": "cm**3", + "temperature": "C", + "time": "sec", + "voltage": "V", + "volume": "cm**3" +} diff --git a/tests/data/goldens/loader_batmo_bdf/meta.json b/tests/data/goldens/loader_batmo_bdf/meta.json new file mode 100644 index 00000000..2f01a2f1 --- /dev/null +++ b/tests/data/goldens/loader_batmo_bdf/meta.json @@ -0,0 +1,53 @@ +{ + "meta_common": { + "active_electrode_area": 1.0, + "active_electrode_current_collector": "standard", + "active_electrode_loading": 1.0, + "active_electrode_thickness": 1.0, + "active_electrode_type": "standard", + "cell_name": "batmo_bdf", + "cell_type": "standard", + "cellpy_file_version": 8, + "comment": "", + "counter_electrode_type": "standard", + "electrolyte_type": "standard", + "electrolyte_volume": 1.0, + "experiment_type": "cycling", + "file_errors": null, + "mass": 1.0, + "material": "silicon", + "nom_cap": 1.0, + "nom_cap_specifics": "gravimetric", + "raw_id": null, + "reference_electrode_current_collector": "standard", + "reference_electrode_type": "standard", + "separator_type": "standard", + "start_datetime": "1970-01-01T00:08:20", + "tester_ID": null, + "tester_calibration_date": null, + "tester_client_software_version": null, + "tester_server_software_version": null, + "time_zone": null, + "tot_mass": 1.0 + }, + "meta_test_dependent": { + "channel_index": null, + "creator": null, + "cycle_mode": "anode", + "test_ID": null, + "test_type": null, + "voltage_lim_high": 1.0, + "voltage_lim_low": 0.0 + }, + "raw_limits": { + "current_hard": 1e-13, + "current_soft": 1e-05, + "ir_change": 1e-05, + "stable_charge_hard": 0.9, + "stable_charge_soft": 5.0, + "stable_current_hard": 2.0, + "stable_current_soft": 4.0, + "stable_voltage_hard": 2.0, + "stable_voltage_soft": 4.0 + } +} diff --git a/tests/data/goldens/loader_batmo_bdf/metrics.json b/tests/data/goldens/loader_batmo_bdf/metrics.json new file mode 100644 index 00000000..0bf6b9a3 --- /dev/null +++ b/tests/data/goldens/loader_batmo_bdf/metrics.json @@ -0,0 +1,7 @@ +{ + "instrument": "batmo_bdf", + "n_columns": 13, + "n_rows": 21206, + "source": "testdata/data/batmo_bdf.csv", + "suite": "loader_batmo_bdf" +} diff --git a/tests/data/goldens/loader_batmo_bdf/raw.parquet b/tests/data/goldens/loader_batmo_bdf/raw.parquet new file mode 100644 index 00000000..ee3b2423 Binary files /dev/null and b/tests/data/goldens/loader_batmo_bdf/raw.parquet differ diff --git a/tests/data/goldens/loader_batmo_bdf/raw_units.json b/tests/data/goldens/loader_batmo_bdf/raw_units.json new file mode 100644 index 00000000..ec298852 --- /dev/null +++ b/tests/data/goldens/loader_batmo_bdf/raw_units.json @@ -0,0 +1,20 @@ +{ + "area": "cm**2", + "charge": "Ah", + "current": "A", + "energy": "Wh", + "frequency": "hz", + "length": "cm", + "mass": "g", + "nominal_capacity": "mAh/g", + "power": "W", + "pressure": "bar", + "resistance": "ohm", + "specific_areal": "cm**2", + "specific_gravimetric": "g", + "specific_volumetric": "cm**3", + "temperature": "C", + "time": "sec", + "voltage": "V", + "volume": "cm**3" +} diff --git a/tests/data/goldens/loader_biologics_mpr/meta.json b/tests/data/goldens/loader_biologics_mpr/meta.json new file mode 100644 index 00000000..bc44ba7c --- /dev/null +++ b/tests/data/goldens/loader_biologics_mpr/meta.json @@ -0,0 +1,53 @@ +{ + "meta_common": { + "active_electrode_area": 1.0, + "active_electrode_current_collector": "standard", + "active_electrode_loading": 1.0, + "active_electrode_thickness": 1.0, + "active_electrode_type": "standard", + "cell_name": "biol", + "cell_type": "standard", + "cellpy_file_version": 8, + "comment": "", + "counter_electrode_type": "standard", + "electrolyte_type": "standard", + "electrolyte_volume": 1.0, + "experiment_type": "cycling", + "file_errors": null, + "mass": 1.0, + "material": "silicon", + "nom_cap": 1.0, + "nom_cap_specifics": "gravimetric", + "raw_id": null, + "reference_electrode_current_collector": "standard", + "reference_electrode_type": "standard", + "separator_type": "standard", + "start_datetime": null, + "tester_ID": null, + "tester_calibration_date": null, + "tester_client_software_version": null, + "tester_server_software_version": null, + "time_zone": null, + "tot_mass": 1.0 + }, + "meta_test_dependent": { + "channel_index": null, + "creator": null, + "cycle_mode": "anode", + "test_ID": null, + "test_type": null, + "voltage_lim_high": 1.0, + "voltage_lim_low": 0.0 + }, + "raw_limits": { + "current_hard": 1e-13, + "current_soft": 1e-05, + "ir_change": 1e-05, + "stable_charge_hard": 0.9, + "stable_charge_soft": 5.0, + "stable_current_hard": 2.0, + "stable_current_soft": 4.0, + "stable_voltage_hard": 2.0, + "stable_voltage_soft": 4.0 + } +} diff --git a/tests/data/goldens/loader_biologics_mpr/metrics.json b/tests/data/goldens/loader_biologics_mpr/metrics.json new file mode 100644 index 00000000..890adf6f --- /dev/null +++ b/tests/data/goldens/loader_biologics_mpr/metrics.json @@ -0,0 +1,7 @@ +{ + "instrument": "biologics_mpr", + "n_columns": 47, + "n_rows": 23561, + "source": "testdata/data/biol.mpr", + "suite": "loader_biologics_mpr" +} diff --git a/tests/data/goldens/loader_biologics_mpr/raw.parquet b/tests/data/goldens/loader_biologics_mpr/raw.parquet new file mode 100644 index 00000000..f722dc79 Binary files /dev/null and b/tests/data/goldens/loader_biologics_mpr/raw.parquet differ diff --git a/tests/data/goldens/loader_biologics_mpr/raw_units.json b/tests/data/goldens/loader_biologics_mpr/raw_units.json new file mode 100644 index 00000000..c651d571 --- /dev/null +++ b/tests/data/goldens/loader_biologics_mpr/raw_units.json @@ -0,0 +1,20 @@ +{ + "area": "cm**2", + "charge": "mAh", + "current": "mA", + "energy": "Wh", + "frequency": "hz", + "length": "cm", + "mass": "g", + "nominal_capacity": "mAh/g", + "power": "W", + "pressure": "bar", + "resistance": "ohm", + "specific_areal": "cm**2", + "specific_gravimetric": "g", + "specific_volumetric": "cm**3", + "temperature": "C", + "time": "sec", + "voltage": "V", + "volume": "cm**3" +} diff --git a/tests/loader_golden_support.py b/tests/loader_golden_support.py index 592a45a4..87aac512 100644 --- a/tests/loader_golden_support.py +++ b/tests/loader_golden_support.py @@ -129,6 +129,25 @@ def skip_reason(self) -> str | None: source="testdata/data/custom_data_001.csv", instrument_file="testdata/data/custom_instrument_001.yml", ), + LoaderGoldenSpec( + suite="loader_biologics_mpr", + instrument="biologics_mpr", + source="testdata/data/biol.mpr", + ), + LoaderGoldenSpec( + suite="loader_batmo_bdf", + instrument="batmo_bdf", + source="testdata/data/batmo_bdf.csv", + ), + LoaderGoldenSpec( + suite="loader_arbin_sql_h5", + instrument="arbin_sql_h5", + source="testdata/data/20200624_test001_cc_01.h5", + ), + # NOTE: loader_neware_nda is intentionally absent — the fastnda-based + # Neware loader needs the optional `fastnda` backend to produce a snapshot, + # which isn't in the test env, so its golden can't be generated here. + # Deferred to #655 Phase 2 (generate where fastnda is installed). )