File size: 875 Bytes
140d024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""Tests for shared strict score utilities."""

from releaseops_env.scoring import format_score, is_strict_score, normalize_score


def test_normalize_score_clamps_boundaries():
    assert normalize_score(0.0) == 0.001
    assert normalize_score(1.0) == 0.999
    assert normalize_score(-5.0) == 0.001
    assert normalize_score(5.0) == 0.999


def test_normalize_score_handles_non_finite_values():
    assert normalize_score(float("nan")) == 0.001
    assert normalize_score(float("-inf")) == 0.001
    assert normalize_score(float("inf")) == 0.999


def test_is_strict_score():
    assert is_strict_score(0.001) is True
    assert is_strict_score(0.999) is True
    assert is_strict_score(0.0) is False
    assert is_strict_score(1.0) is False


def test_format_score_uses_normalized_value():
    assert format_score(1.0) == "0.999"
    assert format_score(0.0) == "0.001"