1+ import pytest
2+ import math
3+ from field_synthesis .functions .calc_distance import calc_distance
4+
5+ def test_estimate_distance_standard ():
6+ """Testuje standardní výpočet se 40% volným prostorem."""
7+ # 50 bodů, plocha 100x100 (10000), 60% obsazeno = 6000. 6000/50 = 120. Odmocnina z 120 je cca 10.954
8+ result = calc_distance (50 , 100.0 , 0.4 )
9+ assert math .isclose (result , 10.95445 , rel_tol = 1e-4 )
10+
11+ @pytest .mark .parametrize ("points, area, free_space, expected" , [
12+ (10 , 50.0 , 0.5 , 11.1803 ),
13+ (100 , 10.0 , 0.1 , 0.9486 )
14+ ])
15+ def test_estimate_distance_parametrized (points , area , free_space , expected ):
16+ """Testuje různé poměry a velikosti."""
17+ result = calc_distance (points , area , free_space )
18+ assert math .isclose (result , expected , rel_tol = 1e-4 )
19+
20+ def test_estimate_distance_invalid_inputs ():
21+ """Testuje chování při neplatných vstupech (nula nebo záporná čísla)."""
22+ assert calc_distance (0 , 100.0 , 0.4 ) == 0.0
23+ assert calc_distance (10 , 0.0 , 0.4 ) == 0.0
24+ assert calc_distance (- 5 , 100.0 , 0.4 ) == 0.0
0 commit comments