Skip to content

test_def_file_decoder

Unit tests of DefFileDecoder

Functions:

decoder

decoder()

Initialize classical decoder

Source code in tests/test_def_file_decoder.py
 8
 9
10
11
@pytest.fixture
def decoder():
    """Initialize classical decoder"""
    return DefFileDecoder()

test_array

test_array(decoder)

Test decoding of arrays

Source code in tests/test_def_file_decoder.py
58
59
60
61
62
def test_array(decoder):
    """Test decoding of arrays"""
    assert decoder.decode("a = 1,2") == {"a": [1, 2]}
    assert decoder.decode("a = 1,2,3") == {"a": [1, 2, 3]}
    assert decoder.decode("a = a, 2, y") == {"a": ["a", 2, True]}

test_auto

test_auto(decoder)

Test decoding of auto values

Source code in tests/test_def_file_decoder.py
65
66
67
68
69
70
71
72
def test_auto(decoder):
    """Test decoding of auto values"""
    assert decoder.decode("a=_AUTO_") == {"a": ("_AUTO_", None)}
    assert decoder.decode("a=_AUTO_:DEFAULT=3.14") == {"a": ("_AUTO_", 3.14)}
    assert decoder.decode("a=_AUTOBLOCKER_") == {"a": ("_AUTOBLOCKER_", None)}
    assert decoder.decode("a=_AUTOBLOCKER_:DEFAULT='text'") == {
        "a": ("_AUTOBLOCKER_", "'text'")
    }

test_float

test_float(decoder)

Test decoding float numbers

Source code in tests/test_def_file_decoder.py
32
33
34
35
36
37
38
39
def test_float(decoder):
    """Test decoding float numbers"""
    assert decoder.decode("a=3.1415") == {"a": 3.1415}
    assert decoder.decode("a=3.14e2") == {"a": 314}
    assert decoder.decode("a=3.14e-2") == {"a": 0.0314}
    assert decoder.decode("a=-3.1415") == {"a": -3.1415}
    assert decoder.decode("a=-3.14e2") == {"a": -314}
    assert decoder.decode("a=-3.14e-2") == {"a": -0.0314}

test_include

test_include(decoder)

Test decoding of INCLUDEDEF statements

Source code in tests/test_def_file_decoder.py
14
15
16
17
18
19
def test_include(decoder):
    """Test decoding of INCLUDEDEF statements"""
    assert decoder.decode("INCLUDEDEF=module1") == {"INCLUDEDEF": ["module1"]}
    assert decoder.decode("INCLUDEDEF=module1\nINCLUDEDEF=module2") == {
        "INCLUDEDEF": ["module1", "module2"]
    }

test_integer

test_integer(decoder)

Test decoding integer numbers

Source code in tests/test_def_file_decoder.py
42
43
44
45
46
47
48
def test_integer(decoder):
    """Test decoding integer numbers"""
    assert decoder.decode("a=1") == {"a": 1}
    assert decoder.decode("a=-1") == {"a": -1}
    assert decoder.decode("a=-0") == {"a": 0}
    assert decoder.decode("a=+0") == {"a": 0}
    assert decoder.decode("a=6123") == {"a": 6123}

test_logical

test_logical(decoder)

Test decoding logical values

Source code in tests/test_def_file_decoder.py
22
23
24
25
26
27
28
29
def test_logical(decoder):
    """Test decoding logical values"""
    assert decoder.decode("a = true\nb=y\nc=TRUE") == {"a": True, "b": True, "c": True}
    assert decoder.decode("a = false\nb=n\nc=FALSE") == {
        "a": False,
        "b": False,
        "c": False,
    }

test_string

test_string(decoder)

Test decoding strings (quoted and unqoted)

Source code in tests/test_def_file_decoder.py
51
52
53
54
55
def test_string(decoder):
    """Test decoding strings (quoted and unqoted)"""
    assert decoder.decode("a=text") == {"a": "text"}
    assert decoder.decode("a='text'") == {"a": "'text'"}
    assert decoder.decode('a="text"') == {"a": '"text"'}