mirror of
https://github.com/macaodha/batdetect2.git
synced 2025-06-29 14:41:58 +02:00
74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
"""Test suite to ensure user provided files are correctly processed."""
|
|
|
|
from pathlib import Path
|
|
|
|
from click.testing import CliRunner
|
|
|
|
from batdetect2.cli import cli
|
|
|
|
runner = CliRunner()
|
|
|
|
|
|
def test_can_process_jeff37_files(
|
|
contrib_dir: Path,
|
|
tmp_path: Path,
|
|
):
|
|
"""This test stems from issue #31.
|
|
|
|
A user provided a set of files which which batdetect2 cli failed and
|
|
generated the following error message:
|
|
|
|
[2272] "Error processing file!: negative dimensions are not allowed"
|
|
|
|
This test ensures that the error message is not generated when running
|
|
batdetect2 cli with the same set of files.
|
|
"""
|
|
path = contrib_dir / "jeff37"
|
|
assert path.exists()
|
|
|
|
results_dir = tmp_path / "results"
|
|
result = runner.invoke(
|
|
cli,
|
|
[
|
|
"detect",
|
|
str(path),
|
|
str(results_dir),
|
|
"0.3",
|
|
],
|
|
)
|
|
assert result.exit_code == 0
|
|
assert results_dir.exists()
|
|
assert len(list(results_dir.glob("*.csv"))) == 5
|
|
assert len(list(results_dir.glob("*.json"))) == 5
|
|
|
|
|
|
def test_can_process_padpadpadpad_files(
|
|
contrib_dir: Path,
|
|
tmp_path: Path,
|
|
):
|
|
"""This test stems from issue #29.
|
|
|
|
Batdetect2 cli failed on the files provided by the user @padpadpadpad
|
|
with the following error message:
|
|
|
|
AttributeError: module 'numpy' has no attribute 'AxisError'
|
|
|
|
This test ensures that the files are processed without any error.
|
|
"""
|
|
path = contrib_dir / "padpadpadpad"
|
|
assert path.exists()
|
|
results_dir = tmp_path / "results"
|
|
result = runner.invoke(
|
|
cli,
|
|
[
|
|
"detect",
|
|
str(path),
|
|
str(results_dir),
|
|
"0.3",
|
|
],
|
|
)
|
|
assert result.exit_code == 0
|
|
assert results_dir.exists()
|
|
assert len(list(results_dir.glob("*.csv"))) == 2
|
|
assert len(list(results_dir.glob("*.json"))) == 2
|