def test_conversion_table_add_and_eq(self):
     """Addition of ConversionTables"""
     self.assertEqual(
         reduce.ConversionTable({'ä': 'ae'}) +
         reduce.ConversionTable({'ü': 'ue'}),
         reduce.ConversionTable({
             'ä': 'ae',
             'ü': 'ue'
         }))
 def test_reduce_punctuation(self):
     """Replacement of punctuation"""
     conversion_table = reduce.ConversionTable(
         reduce.LATIN) + reduce.PUNCTUATION
     self.assertEqual(
         conversion_table.reduce_text('Bérurier Noir – Hélène et le sang'),
         'Berurier Noir -- Helene et le sang')
 def test_reduce_default(self):
     """Default replacements"""
     conversion_table = reduce.ConversionTable(reduce.LATIN,
                                               default_replacement='???')
     self.assertEqual(
         conversion_table.reduce_text('Bérurier Noir – Hélène et le sang'),
         r'Berurier Noir ??? Helene et le sang')
 def test_invalid_conversion_table_addition(self):
     """Addition of an object that is neither a dict
     nor a-ConversionTable
     """
     conversion_table = reduce.ConversionTable(reduce.LATIN)
     self.assertRaises(TypeError, conversion_table.__add__,
                       'unsupported (pointless)')
 def test_reduce_unknown_unicode(self):
     r"""\uNNNN replacements for Unicode characters above U00ff"""
     conversion_table = reduce.ConversionTable(reduce.LATIN)
     self.assertEqual(
         conversion_table.reduce_text('Bérurier Noir – Hélène et le sang'),
         r'Berurier Noir \u2013 Helene et le sang')
 def test_reduce_unknown_characters(self):
     r"""\xNN replacements for C1 controls"""
     conversion_table = reduce.ConversionTable(reduce.LATIN)
     self.assertEqual(conversion_table.reduce_character('\x81'), r'\x81')
 def test_remove_invalid_characters(self):
     """Empty replacements for C1 controls"""
     conversion_table = reduce.ConversionTable(reduce.LATIN,
                                               remove_c1_controls=True)
     self.assertEqual(conversion_table.reduce_character('\x81'), '')