|
15 | 15 | from docx.package import Package |
16 | 16 | from docx.parts.numbering import NumberingPart, _NumberingDefinitions |
17 | 17 |
|
| 18 | +from ..oxml.unitdata.numbering import a_num, a_numbering |
18 | 19 | from ..unitutil import ( |
19 | 20 | function_mock, class_mock, initializer_mock, instance_mock, method_mock |
20 | 21 | ) |
@@ -138,3 +139,23 @@ def package_(self, request): |
138 | 139 | @pytest.fixture |
139 | 140 | def partname_(self, request): |
140 | 141 | return instance_mock(request, PackURI) |
| 142 | + |
| 143 | + |
| 144 | +class Describe_NumberingDefinitions(object): |
| 145 | + |
| 146 | + def it_knows_how_many_numbering_definitions_it_contains( |
| 147 | + self, len_fixture): |
| 148 | + numbering_definitions, numbering_definition_count = len_fixture |
| 149 | + assert len(numbering_definitions) == numbering_definition_count |
| 150 | + |
| 151 | + # fixtures ------------------------------------------------------- |
| 152 | + |
| 153 | + @pytest.fixture(params=[0, 1, 2, 3]) |
| 154 | + def len_fixture(self, request): |
| 155 | + numbering_definition_count = request.param |
| 156 | + numbering_bldr = a_numbering().with_nsdecls() |
| 157 | + for idx in range(numbering_definition_count): |
| 158 | + numbering_bldr.with_child(a_num()) |
| 159 | + numbering_elm = numbering_bldr.element |
| 160 | + numbering_definitions = _NumberingDefinitions(numbering_elm) |
| 161 | + return numbering_definitions, numbering_definition_count |
0 commit comments