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'), '')