Files
slic/tests/test_utils_trinary.py
T
tligui_y 2e3aaf5ad7
Run CI Tests / test (push) Successful in 31s
Update tests/test_utils_trinary.py
2025-07-30 00:01:58 +02:00

31 lines
1.1 KiB
Python

import pytest
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from slic.utils.trinary import *
def test_check_trinary_valid_values():
# These calls should not raise any exception and return None
assert check_trinary(True) is None
assert check_trinary(False) is None
assert check_trinary(None) is None
assert check_trinary(0) is None
assert check_trinary(1) is None
def test_check_trinary_invalid_value():
# These values are not allowed and should raise ValueError
with pytest.raises(ValueError, match=r"Trinary .+ not in"):
check_trinary("yes")
with pytest.raises(ValueError):
check_trinary([])
def test_check_trinary_with_custom_allowed_values():
# Valid custom values should pass without error
assert check_trinary("maybe", allowed_values=("yes", "no", "maybe")) is None
assert check_trinary("yes", allowed_values=("yes", "no", "maybe")) is None
# Invalid custom value should raise ValueError
with pytest.raises(ValueError):
check_trinary("never", allowed_values=("yes", "no", "maybe"))