def test_should_not_output_heading(self):
     self.assertNotIn(
         'v1.0.1',
         markdown_changelog(
             '1.0.1',
             {'refactor': [], 'breaking': [], 'feature': [], 'fix': [], 'documentation': []},
         )
     )
 def test_should_not_include_empty_sections(self):
     self.assertEqual(
         markdown_changelog(
             '1.0.1',
             {'refactor': [], 'breaking': [], 'feature': [], 'fix': [], 'documentation': []},
         ),
         ''
     )
 def test_should_output_heading(self):
     self.assertIn(
         '## v1.0.1\n',
         markdown_changelog(
             '1.0.1',
             {'refactor': [], 'breaking': [], 'feature': [], 'fix': [], 'documentation': []},
             header=True
         )
     )
 def test_should_output_all_sections(self):
     markdown = markdown_changelog('0', {
         'refactor': ['Refactor super-feature'],
         'breaking': ['Uses super-feature as default instead of dull-feature.'],
         'feature': ['Add non-breaking super-feature', 'Add super-feature'],
         'fix': ['Fix bug in super-feature'],
         'documentation': ['Document super-feature']
     })
     self.assertEqual(
         markdown,
         '\n'
         '### Feature\n'
         '* Add non-breaking super-feature\n'
         '* Add super-feature\n'
         '\n'
         '### Fix\n'
         '* Fix bug in super-feature\n'
         '\n'
         '### Breaking\n'
         '* Uses super-feature as default instead of dull-feature.\n'
         '\n'
         '### Documentation\n'
         '* Document super-feature\n'
     )