test: add comprehensive test suite for visualization and comparison modules

This commit is contained in:
jack
2026-06-25 13:49:25 -07:00
parent cfadbdf1c3
commit 831457941a
4 changed files with 274 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
"""Tests for src/pygui/backend/comparison.py."""
import numpy as np
from pygui.backend.comparison import compare_runs
def test_identical_series():
a = [20.0, 30.0, 40.0, 50.0, 60.0]
result = compare_runs(a, a)
assert result["distance"] == 0.0
assert len(result["index_a"]) == len(a)
assert result["index_a"] == result["index_b"]
def test_empty_series():
result = compare_runs([], [])
assert result["distance"] == float("inf")
assert result["index_a"] == []
assert result["index_b"] == []
assert result["warping_path"] == []
def test_one_empty():
result = compare_runs([10.0, 20.0], [])
assert result["distance"] == float("inf")
def test_aligned_series():
a = [10.0, 20.0, 30.0]
b = [15.0, 25.0, 35.0]
result = compare_runs(a, b)
assert result["distance"] >= 0.0
assert len(result["index_a"]) > 0
assert len(result["index_b"]) > 0
def test_single_element():
result = compare_runs([42.0], [42.0])
assert result["distance"] == 0.0
def test_different_lengths():
short = [10.0, 20.0]
long_ = [10.0, 15.0, 20.0, 25.0, 30.0]
result = compare_runs(short, long_)
assert result["distance"] >= 0.0
assert len(result["index_a"]) > 0
assert len(result["index_b"]) > 0
assert len(result["index_a"]) == len(result["index_b"])
def test_return_structure():
a = [1.0, 2.0, 3.0, 4.0, 5.0]
b = [2.0, 3.0, 4.0, 5.0, 6.0]
result = compare_runs(a, b)
assert "distance" in result
assert "index_a" in result
assert "index_b" in result
assert "warping_path" in result
assert isinstance(result["distance"], float)
assert isinstance(result["index_a"], list)
assert isinstance(result["index_b"], list)
assert isinstance(result["warping_path"], list)