File: test_234_light.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 (100 lines) | stat: -rw-r--r-- 1,940 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Copyright (c) 2019 Manfred Moitzi
# License: MIT License
import pytest
import ezdxf
from ezdxf.entities.light import Light
from ezdxf.lldxf.tagwriter import TagCollector, basic_tags_from_text

LIGHT = """0
LIGHT
5
0
330
0
100
AcDbEntity
8
0
100
AcDbLight
90
0
1
NAME
70
1
290
1
291
0
40
1.0
72
2
292
0
293
1
73
0
"""


@pytest.fixture
def entity():
    return Light.from_text(LIGHT)


def test_registered():
    from ezdxf.entities.factory import ENTITY_CLASSES

    assert "LIGHT" in ENTITY_CLASSES


def test_default_init():
    entity = Light()
    assert entity.dxftype() == "LIGHT"
    assert entity.dxf.handle is None
    assert entity.dxf.owner is None


def test_default_new():
    entity = Light.new(handle="ABBA", owner="0", dxfattribs={})
    assert entity.dxf.version == 0
    assert entity.dxf.name == ""
    assert entity.dxf.type == 1
    assert entity.dxf.status == 1
    assert entity.dxf.plot_glyph == 0
    assert entity.dxf.intensity == 1
    assert entity.dxf.attenuation_type == 2
    assert entity.dxf.use_attenuation_limits == 0
    assert entity.dxf.cast_shadows == 1
    assert entity.dxf.shadow_type == 0


def test_load_from_text(entity):
    assert entity.dxf.version == 0
    assert entity.dxf.name == "NAME"
    assert entity.dxf.type == 1
    assert entity.dxf.status == 1
    assert entity.dxf.plot_glyph == 0
    assert entity.dxf.intensity == 1
    assert entity.dxf.attenuation_type == 2
    assert entity.dxf.use_attenuation_limits == 0
    assert entity.dxf.cast_shadows == 1
    assert entity.dxf.shadow_type == 0


def test_write_dxf():
    entity = Light.from_text(LIGHT)
    result = TagCollector.dxftags(entity)
    expected = basic_tags_from_text(LIGHT)
    assert result == expected


def test_add_light():
    doc = ezdxf.new("R2007")
    msp = doc.modelspace()
    light = msp.new_entity("LIGHT", {"name": "Licht"})
    assert light.dxftype() == "LIGHT"
    assert light.dxf.name == "Licht"