import math from mech_workbench.model_utils import is_finite, safe_mean def test_is_finite(): assert is_finite(1.0) assert is_finite(0) assert is_finite(-5.5) assert not is_finite(math.nan) assert not is_finite(math.inf) assert not is_finite(-math.inf) assert not is_finite("abc") assert not is_finite(None) def test_safe_mean(): assert safe_mean([1.0, 2.0, 3.0]) == 2.0 assert safe_mean([0.0, 0.0]) == 0.0 assert math.isnan(safe_mean([])) assert safe_mean([-1.0, 1.0]) == 0.0