Esempio n. 1
0
    def test_multiline_custom_templates(self):
        '''Checks that multiple multiline custom templates are loaded and used correctly.
        '''
        custom_templates = {
            'image': \
'''<div class="text-center">
<img src="{{ full_file_path }}" class="rounded img-thumbnail"/>
</div>''',

            'boxed-text': \
'''<div class="card">
<div class="card-block">
{{ text }}
</div>
</div>''',

            'heading': \
'''<{{ heading_type }} id="{{ title_slug }}">
<span class="section_number">
{{ level_1 }}.{{ level_2 }}.{{ level_3 }}.{{ level_4 }}.{{ level_5 }}.{{ level_6 }}.
</span>
{{ title }}
</{{ heading_type }}>'''

        }

        verto = Verto(html_templates=custom_templates)
        test_string = self.read_test_file(self.test_name, 'all_processors.md')
        converted_test_string = verto.convert(test_string).html_string
        expected_string = self.read_test_file(self.test_name, 'multiline_templates_expected.html', strip=True)
        self.assertEqual(expected_string, converted_test_string)
Esempio n. 2
0
    def test_multiline_custom_templates(self):
        '''Checks that multiple multiline custom templates are loaded and used correctly.
        '''
        custom_templates = {
            'image': \
'''<div class="text-center">
<img src="{{ full_file_path }}" class="rounded img-thumbnail"/>
</div>''',

            'boxed-text': \
'''<div class="card">
<div class="card-block">
{{ text }}
</div>
</div>''',

            'heading': \
'''<{{ heading_type }} id="{{ title_slug }}">
<span class="section_number">
{{ level_1 }}.{{ level_2 }}.{{ level_3 }}.{{ level_4 }}.{{ level_5 }}.{{ level_6 }}.
</span>
{{ title }}
</{{ heading_type }}>'''

        }

        verto = Verto(html_templates=custom_templates)
        test_string = self.read_test_file(self.test_name, 'all_processors.md')
        converted_test_string = verto.convert(test_string).html_string
        expected_string = self.read_test_file(
            self.test_name, 'multiline_templates_expected.html', strip=True)
        self.assertEqual(expected_string, converted_test_string)
Esempio n. 3
0
 def test_custom_templates_on_creation(self):
     '''Checks custom templates are used when given on creation.
     '''
     verto = Verto(html_templates=self.custom_templates)
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'all_processors_custom_html_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 4
0
 def test_default_processors_on_creation(self):
     '''Checks if all expected default processors work on default creation.
     '''
     verto = Verto()
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'all_processors_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 5
0
 def test_custom_processors_and_custom_templates_on_creation(self):
     '''Checks if custom processors and custom templates work together on creation of verto.
     '''
     processors = {'image-tag', 'boxed-text'}
     verto = Verto(processors=processors, html_templates=self.custom_templates)
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'custom_processors_custom_templates_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 6
0
 def test_custom_processors_on_creation(self):
     '''Checks if system only uses specified processors.
     '''
     processors = {'panel', 'image-container'}
     verto = Verto(processors=processors)
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'custom_processors_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 7
0
 def test_reset_templates_after_custom(self):
     '''Checks custom templates are reset when given at creation.
     '''
     verto = Verto(html_templates=self.custom_templates)
     verto.clear_templates()
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'all_processors_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 8
0
 def test_custom_processors_on_creation(self):
     '''Checks if system only uses specified processors.
     '''
     processors = {'panel', 'image-container'}
     verto = Verto(processors=processors)
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(
         self.test_name, 'custom_processors_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 9
0
 def test_default_processors_on_creation(self):
     '''Checks if all expected default processors work on default creation.
     '''
     verto = Verto()
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name,
                                           'all_processors_expected.html',
                                           strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 10
0
 def test_reset_templates_after_custom(self):
     '''Checks custom templates are reset when given at creation.
     '''
     verto = Verto(html_templates=self.custom_templates)
     verto.clear_templates()
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name,
                                           'all_processors_expected.html',
                                           strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 11
0
 def test_custom_templates_on_creation(self):
     '''Checks custom templates are used when given on creation.
     '''
     verto = Verto(html_templates=self.custom_templates)
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(
         self.test_name,
         'all_processors_custom_html_expected.html',
         strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 12
0
 def test_unique_custom_processors(self):
     '''Checks if unique processors are stored when duplicates provided.
     '''
     processors = ['comment', 'comment', 'comment']
     verto = Verto(processors=processors)
     self.assertEqual(verto.verto_extension.processors, set(processors))
     processors = list(Verto.processor_defaults())
     processors.append('example_processor')
     processors.append('example_processor')
     processors.append('example_processor')
     verto.update_processors(processors)
     self.assertTrue(verto.verto_extension.processors, processors)
Esempio n. 13
0
 def test_unique_custom_processors(self):
     '''Checks if unique processors are stored when duplicates provided.
     '''
     processors = ['comment', 'comment', 'comment']
     verto = Verto(processors=processors)
     self.assertEqual(verto.verto_extension.processors, set(processors))
     processors = list(Verto.processor_defaults())
     processors.append('example_processor')
     processors.append('example_processor')
     processors.append('example_processor')
     verto.update_processors(processors)
     self.assertTrue(verto.verto_extension.processors, processors)
Esempio n. 14
0
 def test_custom_processors_and_custom_templates_on_creation(self):
     '''Checks if custom processors and custom templates work together on creation of verto.
     '''
     processors = {'image-tag', 'boxed-text'}
     verto = Verto(processors=processors,
                   html_templates=self.custom_templates)
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(
         self.test_name,
         'custom_processors_custom_templates_expected.html',
         strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 15
0
 def test_custom_processors_after_creation(self):
     '''Checks if extension correct changes processors.
     '''
     verto = Verto()
     processors = Verto.processor_defaults()
     processors.add('example_processor')
     processors.remove('comment')
     verto.update_processors(processors)
     # Check example_processor is now stored in extension processors
     self.assertEqual(verto.verto_extension.processors, processors)
     # Check comments are now skipped
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'all_processors_except_comment_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 16
0
 def test_custom_arguments_rules_on_creation(self):
     '''Checks if tag arguments are updated.
     '''
     custom_argument_rules = {"image-tag": {"alt": False}}
     verto = Verto(custom_argument_rules=custom_argument_rules)
     self.assertEqual(verto.verto_extension.custom_argument_rules,
                      dict(custom_argument_rules))
Esempio n. 17
0
 def test_custom_argument_rules_for_multiple_tags(self):
     '''Checks that md file is correctly parsed when multiple tags have custom argument rules.
     '''
     custom_argument_rules = {
         "image-tag": {
             "alt": False
         },
         "panel": {
             "subtitle": True
         }
     }
     verto = Verto(custom_argument_rules=custom_argument_rules)
     self.assertEqual(verto.verto_extension.custom_argument_rules, dict(custom_argument_rules))
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name, 'all_processors_expected.html', strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 18
0
 def test_custom_argument_rules_for_multiple_tags(self):
     '''Checks that md file is correctly parsed when multiple tags have custom argument rules.
     '''
     custom_argument_rules = {
         "image-tag": {
             "alt": False
         },
         "panel": {
             "subtitle": True
         }
     }
     verto = Verto(custom_argument_rules=custom_argument_rules)
     self.assertEqual(verto.verto_extension.custom_argument_rules,
                      dict(custom_argument_rules))
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(self.test_name,
                                           'all_processors_expected.html',
                                           strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 19
0
 def test_custom_processors_after_creation(self):
     '''Checks if extension correct changes processors.
     '''
     verto = Verto()
     processors = Verto.processor_defaults()
     processors.add('example_processor')
     processors.remove('comment')
     verto.update_processors(processors)
     # Check example_processor is now stored in extension processors
     self.assertEqual(verto.verto_extension.processors, processors)
     # Check comments are now skipped
     test_string = self.read_test_file(self.test_name, 'all_processors.md')
     converted_test_string = verto.convert(test_string).html_string
     expected_string = self.read_test_file(
         self.test_name,
         'all_processors_except_comment_expected.html',
         strip=True)
     self.assertEqual(expected_string, converted_test_string)
Esempio n. 20
0
    def test_multiple_calls_without_clearing(self):
        '''Tests that if the verto extension is not cleared that information such as required_files and slugs are persistent.
        '''
        filename = 'all_processors.md'
        other_filename = 'otherfile.md'
        expected_result = VertoResult(
            html_string=self.read_test_file(self.test_name,
                                            'all_processors_expected.html',
                                            strip=True),
            title='Example Title',
            required_files={
                'interactives': {'binary-cards'},
                'images': set(),
                'page_scripts': set(),
                'scratch_images': {
                    ScratchImageMetaData(
                        hash=
                        'a0f8fcad796864abfacac8bda6e0719813833fd1fca348700abbd040557c1576',
                        text=
                        'when flag clicked\nclear\nforever\npen down\nif <<mouse down?> and <touching [mouse-pointer v]?>> then\nswitch costume to [button v]\nelse\nadd (x position) to [list v]\nend\nmove (foo) steps\nturn ccw (9) degrees'
                    ),
                }
            },
            heading_tree=(
                HeadingNode(
                    title='Example Title',
                    title_slug='example-title',
                    level=1,
                    children=(),
                ),
                HeadingNode(title='Example Title 2',
                            title_slug='example-title-2',
                            level=1,
                            children=()),
            ),
            required_glossary_terms={'algorithm': []})
        expected_otherfile_result = VertoResult(
            html_string=self.read_test_file(self.test_name,
                                            'otherfile_expected.html',
                                            strip=True),
            title='Example Title',
            required_files={
                'interactives': {'binary-cards'},
                'images': {'pixel-diamond.png'},
                'page_scripts': set(),
                'scratch_images': {
                    ScratchImageMetaData(
                        hash=
                        'a0f8fcad796864abfacac8bda6e0719813833fd1fca348700abbd040557c1576',
                        text=
                        'when flag clicked\nclear\nforever\npen down\nif <<mouse down?> and <touching [mouse-pointer v]?>> then\nswitch costume to [button v]\nelse\nadd (x position) to [list v]\nend\nmove (foo) steps\nturn ccw (9) degrees'
                    ),
                    ScratchImageMetaData(
                        hash=
                        'b78bff524e54a18116e1e898a93e360827f874a8b0b508e1edc47d21516495ad',
                        text='never\ngoing\nto\ngive\nyou\nup'),
                }
            },
            heading_tree=(HeadingNode(
                title='Example Title',
                title_slug='example-title-3',
                level=1,
                children=(),
            ), ),
            required_glossary_terms={'algorithm': []})

        verto = Verto()
        # First file
        test_string = self.read_test_file(self.test_name, filename)
        verto_result = verto.convert(test_string)

        self.assertEqual(verto_result.title, expected_result.title)
        self.assertEqual(verto_result.required_files,
                         expected_result.required_files)
        self.assertTupleEqual(verto_result.heading_tree,
                              expected_result.heading_tree)
        self.assertDictEqual(verto_result.required_glossary_terms,
                             expected_result.required_glossary_terms)

        # Another file
        test_string = self.read_test_file(self.test_name, other_filename)
        verto_result = verto.convert(test_string)

        self.assertEqual(verto_result.title, expected_otherfile_result.title)
        self.assertEqual(verto_result.required_files,
                         expected_otherfile_result.required_files)
        self.assertTupleEqual(verto_result.heading_tree,
                              expected_otherfile_result.heading_tree)
        self.assertDictEqual(verto_result.required_glossary_terms,
                             expected_otherfile_result.required_glossary_terms)
Esempio n. 21
0
    def test_multiple_calls(self):
        '''Checks all fields of VertoResult are correct for multiple Verto calls.
        '''
        test_cases = [(
            'all_processors.md',
            VertoResult(
                html_string=self.read_test_file(self.test_name, 'all_processors_expected.html', strip=True),
                title='Example Title',
                required_files={
                    'interactives': {
                        'binary-cards'
                    },
                    'images': set(),
                    'page_scripts': set(),
                    'scratch_images': {
                        ScratchImageMetaData(
                            hash='a0f8fcad796864abfacac8bda6e0719813833fd1fca348700abbd040557c1576',
                            text='when flag clicked\nclear\nforever\npen down\nif <<mouse down?> and <touching [mouse-pointer v]?>> then\nswitch costume to [button v]\nelse\nadd (x position) to [list v]\nend\nmove (foo) steps\nturn ccw (9) degrees'
                        ),
                    }
                },
                heading_tree=(
                    HeadingNode(
                        title='Example Title',
                        title_slug='example-title',
                        level=1,
                        children=(),
                    ),
                    HeadingNode(
                        title='Example Title 2',
                        title_slug='example-title-2',
                        level=1,
                        children=()
                    ),
                ),
                required_glossary_terms={
                    'algorithm': []
                }
            )
        ), (
            'some_processors.md',
            VertoResult(
                html_string=self.read_test_file(self.test_name, 'some_processors_expected.html', strip=True),
                title='Another Example Title',
                required_files={
                    'interactives': set(),
                    'images': {'totally-legit-image.png'},
                    'page_scripts': set(),
                    'scratch_images': set()
                },
                heading_tree=(HeadingNode(
                    title='Another Example Title',
                    title_slug='another-example-title',
                    level=1,
                    children=(HeadingNode(
                        title='This is an H2',
                        title_slug='this-is-an-h2',
                        level=2,
                        children=()
                    ),),
                ),),
                required_glossary_terms={
                    'chomsky-hierarchy':
                        [('Formal languages', 'glossary-chomsky-hierarchy')]
                }
            )
        ), (
            'some_processors_2.md',
            VertoResult(
                html_string=self.read_test_file(self.test_name, 'some_processors_2_expected.html', strip=True),
                title='Another Example Title',
                required_files={
                    'interactives': set(),
                    'images': {
                        'totally-legit-image.png',
                        'finite-state-automata-no-trap-example.png',
                        'finite-state-automata-trap-added-example.png',
                        'finite-state-automata-trap-added-extreme-example.png',
                    },
                    'page_scripts': set(),
                    'scratch_images': set()
                },
                heading_tree=(HeadingNode(
                    title='Another Example Title',
                    title_slug='another-example-title',
                    level=1,
                    children=(),
                ),),
                required_glossary_terms={
                    'hello': [],
                    'algorithm':
                        [('computer program', 'glossary-algorithm'),
                         ('algorithm cost', 'glossary-algorithm-2'),
                         ('searching algorithms', 'glossary-algorithm-3'),
                         ('sorting algorithms', 'glossary-algorithm-4')]
                }
            )
        )]

        verto = Verto()
        for filename, expected_result in test_cases:
            test_string = self.read_test_file(self.test_name, filename)
            verto_result = verto.convert(test_string)

            self.assertEqual(verto_result.title, expected_result.title)
            self.assertEqual(verto_result.required_files, expected_result.required_files)
            self.assertTupleEqual(verto_result.heading_tree, expected_result.heading_tree)
            self.assertDictEqual(verto_result.required_glossary_terms, expected_result.required_glossary_terms)
            verto.clear_saved_data()
Esempio n. 22
0
    def test_multiple_calls(self):
        '''Checks all fields of VertoResult are correct for multiple Verto calls.
        '''
        test_cases = [
            ('all_processors.md',
             VertoResult(
                 html_string=self.read_test_file(
                     self.test_name,
                     'all_processors_expected.html',
                     strip=True),
                 title='Example Title',
                 required_files={
                     'interactives': {'binary-cards'},
                     'images': set(),
                     'page_scripts': set(),
                     'scratch_images': {
                         ScratchImageMetaData(
                             hash=
                             'a0f8fcad796864abfacac8bda6e0719813833fd1fca348700abbd040557c1576',
                             text
                             ='when flag clicked\nclear\nforever\npen down\nif <<mouse down?> and <touching [mouse-pointer v]?>> then\nswitch costume to [button v]\nelse\nadd (x position) to [list v]\nend\nmove (foo) steps\nturn ccw (9) degrees'
                         ),
                     }
                 },
                 heading_tree=(
                     HeadingNode(
                         title='Example Title',
                         title_slug='example-title',
                         level=1,
                         children=(),
                     ),
                     HeadingNode(title='Example Title 2',
                                 title_slug='example-title-2',
                                 level=1,
                                 children=()),
                 ),
                 required_glossary_terms={'algorithm': []})),
            ('some_processors.md',
             VertoResult(
                 html_string=self.read_test_file(
                     self.test_name,
                     'some_processors_expected.html',
                     strip=
                     True),
                 title='Another Example Title',
                 required_files={
                     'interactives': set(),
                     'images':
                     {'totally-legit-image.png'},
                     'page_scripts': set(),
                     'scratch_images':
                     set()
                 },
                 heading_tree=
                 (HeadingNode(
                     title='Another Example Title',
                     title_slug
                     ='another-example-title',
                     level=1,
                     children=(HeadingNode(
                         title='This is an H2',
                         title_slug
                         ='this-is-an-h2',
                         level=2,
                         children=(
                         )), ),
                 ), ),
                 required_glossary_terms={
                     'chomsky-hierarchy':
                     [('Formal languages', 'glossary-chomsky-hierarchy')]
                 })),
            ('some_processors_2.md',
             VertoResult(
                 html_string=self.read_test_file(
                     self.test_name,
                     'some_processors_2_expected.html',
                     strip=
                     True),
                 title='Another Example Title',
                 required_files={
                     'interactives': set(),
                     'images':
                     {
                         'totally-legit-image.png',
                         'finite-state-automata-no-trap-example.png',
                         'finite-state-automata-trap-added-example.png',
                         'finite-state-automata-trap-added-extreme-example.png',
                     },
                     'page_scripts': set(),
                     'scratch_images': set()
                 },
                 heading_tree=(HeadingNode(
                     title='Another Example Title',
                     title_slug='another-example-title',
                     level=1,
                     children=(),
                 ), ),
                 required_glossary_terms={
                     'hello': [],
                     'algorithm':
                     [('computer program', 'glossary-algorithm'),
                      ('algorithm cost', 'glossary-algorithm-2'),
                      ('searching algorithms', 'glossary-algorithm-3'),
                      ('sorting algorithms', 'glossary-algorithm-4')]
                 }))
        ]

        verto = Verto()
        for filename, expected_result in test_cases:
            test_string = self.read_test_file(self.test_name, filename)
            verto_result = verto.convert(test_string)

            self.assertEqual(verto_result.title, expected_result.title)
            self.assertEqual(verto_result.required_files,
                             expected_result.required_files)
            self.assertTupleEqual(verto_result.heading_tree,
                                  expected_result.heading_tree)
            self.assertDictEqual(verto_result.required_glossary_terms,
                                 expected_result.required_glossary_terms)
            verto.clear_saved_data()
Esempio n. 23
0
    def test_multiple_calls_without_clearing(self):
        '''Tests that if the verto extension is not cleared that information such as required_files and slugs are persistent.
        '''
        filename = 'all_processors.md'
        other_filename = 'otherfile.md'
        expected_result = VertoResult(
            html_string=self.read_test_file(self.test_name, 'all_processors_expected.html', strip=True),
            title='Example Title',
            required_files={
                'interactives': {
                    'binary-cards'
                },
                'images': set(),
                'page_scripts': set(),
                'scratch_images': {
                    ScratchImageMetaData(
                        hash='a0f8fcad796864abfacac8bda6e0719813833fd1fca348700abbd040557c1576',
                        text='when flag clicked\nclear\nforever\npen down\nif <<mouse down?> and <touching [mouse-pointer v]?>> then\nswitch costume to [button v]\nelse\nadd (x position) to [list v]\nend\nmove (foo) steps\nturn ccw (9) degrees'
                    ),
                }
            },
            heading_tree=(
                HeadingNode(
                    title='Example Title',
                    title_slug='example-title',
                    level=1,
                    children=(),
                ),
                HeadingNode(
                    title='Example Title 2',
                    title_slug='example-title-2',
                    level=1,
                    children=()
                ),
            ),
            required_glossary_terms={
                'algorithm': []
            }
        )
        expected_otherfile_result = VertoResult(
            html_string=self.read_test_file(self.test_name, 'otherfile_expected.html', strip=True),
            title='Example Title',
            required_files={
                'interactives': {
                    'binary-cards'
                },
                'images': {
                    'pixel-diamond.png'
                },
                'page_scripts': set(),
                'scratch_images': {
                    ScratchImageMetaData(
                        hash='a0f8fcad796864abfacac8bda6e0719813833fd1fca348700abbd040557c1576',
                        text='when flag clicked\nclear\nforever\npen down\nif <<mouse down?> and <touching [mouse-pointer v]?>> then\nswitch costume to [button v]\nelse\nadd (x position) to [list v]\nend\nmove (foo) steps\nturn ccw (9) degrees'
                    ),
                    ScratchImageMetaData(
                        hash='b78bff524e54a18116e1e898a93e360827f874a8b0b508e1edc47d21516495ad',
                        text='never\ngoing\nto\ngive\nyou\nup'
                    ),
                }
            },
            heading_tree=(HeadingNode(
                title='Example Title',
                title_slug='example-title-3',
                level=1,
                children=(),
            ),
            ),
            required_glossary_terms={
                'algorithm': []
            }
        )

        verto = Verto()
        # First file
        test_string = self.read_test_file(self.test_name, filename)
        verto_result = verto.convert(test_string)

        self.assertEqual(verto_result.title, expected_result.title)
        self.assertEqual(verto_result.required_files, expected_result.required_files)
        self.assertTupleEqual(verto_result.heading_tree, expected_result.heading_tree)
        self.assertDictEqual(verto_result.required_glossary_terms, expected_result.required_glossary_terms)

        # Another file
        test_string = self.read_test_file(self.test_name, other_filename)
        verto_result = verto.convert(test_string)

        self.assertEqual(verto_result.title, expected_otherfile_result.title)
        self.assertEqual(verto_result.required_files, expected_otherfile_result.required_files)
        self.assertTupleEqual(verto_result.heading_tree, expected_otherfile_result.heading_tree)
        self.assertDictEqual(verto_result.required_glossary_terms, expected_otherfile_result.required_glossary_terms)