feat(browser): auto-commit con 178 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
"""Tests para normality_tests."""
|
||||
|
||||
import numpy as np
|
||||
|
||||
from normality_tests import normality_tests
|
||||
|
||||
|
||||
def test_normal_large_sample_is_normal():
|
||||
rng = np.random.default_rng(42)
|
||||
values = rng.normal(loc=10.0, scale=2.0, size=2000).tolist()
|
||||
result = normality_tests(values)
|
||||
assert result["n"] == 2000
|
||||
assert result["shapiro"] is not None
|
||||
assert result["jarque_bera"]["normal"] is True
|
||||
assert result["dagostino"]["normal"] is True
|
||||
assert result["is_normal"] is True
|
||||
|
||||
|
||||
def test_skewed_sample_is_not_normal():
|
||||
rng = np.random.default_rng(7)
|
||||
values = rng.exponential(scale=1.0, size=2000).tolist()
|
||||
result = normality_tests(values)
|
||||
assert result["jarque_bera"]["normal"] is False
|
||||
assert result["dagostino"]["normal"] is False
|
||||
assert result["is_normal"] is False
|
||||
|
||||
|
||||
def test_small_sample_returns_note():
|
||||
result = normality_tests([1, 2, 3, 4, 5])
|
||||
assert result["n"] == 5
|
||||
assert result["note"] == "muestra insuficiente"
|
||||
assert result["is_normal"] is None
|
||||
assert "jarque_bera" not in result
|
||||
|
||||
|
||||
def test_drops_none_nan_and_non_numeric():
|
||||
rng = np.random.default_rng(1)
|
||||
base = rng.normal(0.0, 1.0, size=50).tolist()
|
||||
dirty = base + [None, float("nan"), "x", float("inf")]
|
||||
result = normality_tests(dirty)
|
||||
assert result["n"] == 50
|
||||
|
||||
|
||||
def test_shapiro_skipped_above_5000():
|
||||
rng = np.random.default_rng(3)
|
||||
values = rng.normal(0.0, 1.0, size=6000).tolist()
|
||||
result = normality_tests(values)
|
||||
assert result["n"] == 6000
|
||||
assert result["shapiro"] is None
|
||||
# is_normal still computed from JB + D'Agostino.
|
||||
assert result["is_normal"] is True
|
||||
|
||||
|
||||
def test_normal_below_eight_after_cleaning_is_note():
|
||||
result = normality_tests([1.0, 2.0, None, 3.0])
|
||||
assert result["n"] == 3
|
||||
assert result["note"] == "muestra insuficiente"
|
||||
assert result["is_normal"] is None
|
||||
Reference in New Issue
Block a user