Path:
tests/unit/strictdoc/backend/sdoc/test_dsl_parent_document_assignment.py
Lines:
52
Non-empty lines:
37
Non-empty lines covered with requirements:
37 / 37 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""2
@relation(SDOC-SRS-136, scope=file)3
"""4
5
from strictdoc.backend.sdoc.models.document import SDocDocument
6
from strictdoc.backend.sdoc.models.node import SDocNode
7
from strictdoc.backend.sdoc.reader import SDReader
8
from strictdoc.helpers.cast import assert_cast
9
10
11
def test_001_level_1_req():
12
input_sdoc = """
13
[DOCUMENT]14
TITLE: Test Doc15
16
[REQUIREMENT]17
STATEMENT: ...18
""".lstrip()
19
20
reader = SDReader()
21
22
document = reader.read(input_sdoc)
23
assert isinstance(document, SDocDocument)
24
25
requirement = assert_cast(document.section_contents[0], SDocNode)
26
assert requirement.ng_document_reference.get_document() == document
27
assert requirement.get_document() == document
28
29
30
def test_002_level_2_req():
31
input_sdoc = """
32
[DOCUMENT]33
TITLE: Test Doc34
35
[[SECTION]]36
TITLE: Section 137
38
[REQUIREMENT]39
STATEMENT: ...40
41
[[/SECTION]]42
""".lstrip()
43
44
reader = SDReader()
45
46
document = reader.read(input_sdoc)
47
assert isinstance(document, SDocDocument)
48
49
section = assert_cast(document.section_contents[0], SDocNode)
50
req: SDocNode = assert_cast(section.section_contents[0], SDocNode)
51
assert req.ng_document_reference.get_document() == document
52
assert req.get_document() == document