StrictDoc Documentation
tests/unit/strictdoc/backend/sdoc/test_dsl_parent_document_assignment.py
Source file coverage
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 Doc
15
 
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 Doc
34
 
35
[[SECTION]]
36
TITLE: Section 1
37
 
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