File: test_534_dwg_info.py

package info (click to toggle)
ezdxf 1.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 104,528 kB
  • sloc: python: 182,341; makefile: 116; lisp: 20; ansic: 4
file content (46 lines) | stat: -rw-r--r-- 988 bytes parent folder | download | duplicates (2)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#  Copyright (c) 2022, Manfred Moitzi
#  License: MIT License

import pytest
from ezdxf.dwginfo import dwg_info

R12 = "41 43 31 30 30 39"
R2000 = "41 43 31 30 31 35"
R2018 = "41 43 31 30 33 32"
R20XX = "41 43 31 30 33 33"
unknown1 = "32 32 31 30 33 32"
unknown2 = ""


def data(s) -> bytes:
    return bytes(int(x, 16) for x in s.split())


@pytest.mark.parametrize(
    "s,ver,rel",
    [
        (R12, "AC1009", "R12"),
        (R2000, "AC1015", "R2000"),
        (R2018, "AC1032", "R2018"),
        (R20XX, "AC1033", "unknown"),
    ],
    ids=["R12", "R2000", "R2018", "unknown"],
)
def test_detect(s, ver, rel):
    info = dwg_info(data(s))
    assert info.version == ver
    assert info.release == rel


@pytest.mark.parametrize(
    "s", [unknown1, unknown2],
    ids=["invalid", "empty"],
)
def test_detect_invalid(s):
    info = dwg_info(data(s))
    assert info.version == "invalid"
    assert info.release == "invalid"


if __name__ == "__main__":
    pytest.main([__file__])