Coverage for tests / test_activity_enmo.py: 100%
19 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-26 21:14 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-26 21:14 +0000
1import os
2import pytest
3from datetime import datetime
5from numpy import arange
6from pandas import read_csv
7from physiodsp.sensors.imu.accelerometer import AccelerometerData
8from physiodsp.activity.enmo import ENMO
11test_folder_path = os.path.dirname(os.path.realpath(__file__))
14@pytest.mark.parametrize(
15 "n_samples,fs",
16 [
17 (128, 32),
18 (256, 64),
19 (256, 32)
20 ]
21)
22def test_activity_enmo(n_samples, fs):
24 df = read_csv(os.path.join(test_folder_path, "accelerometer.csv"), usecols=["x", "y", "z"])
26 timestamp_start = datetime.now().timestamp()
27 timestamps = timestamp_start + arange(start=0, step=1/fs, stop=int(n_samples/fs))
29 accelerometer = AccelerometerData(
30 timestamps=timestamps,
31 x=df.x.values[:n_samples],
32 y=df.y.values[:n_samples],
33 z=df.z.values[:n_samples],
34 fs=fs
35 )
37 enmo_processor = ENMO().run(accelerometer=accelerometer).aggregate()
39 enmo_1s = enmo_processor.biomarker
40 enmo_60s = enmo_processor.biomarker_agg
42 assert len(enmo_1s) == int(n_samples / fs) - 1
43 assert len(enmo_60s) == 1