25 lines
925 B
Python
25 lines
925 B
Python
"""大纲解析:1.1 类编号不得被误拆成一级 1 与 title '.1 标题'。"""
|
||
import unittest
|
||
|
||
from modules.generator import _parse_outline
|
||
|
||
|
||
class TestParseOutline(unittest.TestCase):
|
||
def test_11_stays_single_section(self):
|
||
text = "某某项目标书标题\n1.1 沟槽开挖与支护\n1.2 排降水\n"
|
||
_, sections, _ = _parse_outline(text)
|
||
self.assertEqual(len(sections), 2, [s.get('number') for s in sections])
|
||
for s in sections:
|
||
if s.get('level') == 1:
|
||
self.assertFalse(
|
||
(s.get('title') or '').lstrip().startswith('.'),
|
||
'不得出现一级章节 title 以 .1 开头(误将 1.1 拆成 1 与 .1 标题)',
|
||
)
|
||
titles = ' '.join(s['title'] for s in sections)
|
||
self.assertIn('沟槽', titles)
|
||
self.assertIn('排降', titles)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
unittest.main()
|