예제 #1
0
    def test_phonex(self):
        """Test abydos.phonetic.Phonex."""
        self.assertEqual(self.pa.encode(''), '0000')

        # http://homepages.cs.ncl.ac.uk/brian.randell/Genealogy/NameMatching.pdf
        self.assertEqual(self.pa.encode('Ewell'), 'A400')
        self.assertEqual(self.pa.encode('Filp'), 'F100')
        self.assertEqual(self.pa.encode('Heames'), 'A500')
        self.assertEqual(self.pa.encode('Kneves'), 'N100')
        self.assertEqual(self.pa.encode('River'), 'R160')
        self.assertEqual(self.pa.encode('Corley'), 'C400')
        self.assertEqual(self.pa.encode('Carton'), 'C350')
        self.assertEqual(self.pa.encode('Cachpole'), 'C214')

        self.assertEqual(self.pa.encode('Ewell'), self.pa.encode('Ule'))
        self.assertEqual(self.pa.encode('Filp'), self.pa.encode('Philp'))
        self.assertEqual(self.pa.encode('Yule'), self.pa.encode('Ewell'))
        self.assertEqual(self.pa.encode('Heames'), self.pa.encode('Eames'))
        self.assertEqual(self.pa.encode('Kneves'), self.pa.encode('Neves'))
        self.assertEqual(self.pa.encode('River'), self.pa.encode('Rivers'))
        self.assertEqual(self.pa.encode('Corley'), self.pa.encode('Coley'))
        self.assertEqual(self.pa.encode('Carton'), self.pa.encode('Carlton'))
        self.assertEqual(self.pa.encode('Cachpole'),
                         self.pa.encode('Catchpole'))

        # etc. (for code coverage)
        self.assertEqual(self.pa.encode('Saxon'), 'S250')
        self.assertEqual(self.pa.encode('Wright'), 'R230')
        self.assertEqual(self.pa.encode('Ai'), 'A000')
        self.assertEqual(self.pa.encode('Barth'), 'B300')
        self.assertEqual(self.pa.encode('Perry'), 'B600')
        self.assertEqual(self.pa.encode('Garth'), 'G300')
        self.assertEqual(self.pa.encode('Jerry'), 'G600')
        self.assertEqual(self.pa.encode('Gerry'), 'G600')
        self.assertEqual(self.pa.encode('Camden'), 'C500')
        self.assertEqual(self.pa.encode('Ganges'), 'G500')
        self.assertEqual(self.pa.encode('A-1'), 'A000')

        # max_length bounds tests
        self.assertEqual(
            Phonex(max_length=-1).encode('Niall'),
            'N400000000000000000000000000000000000000000000000000000000000000',
        )
        self.assertEqual(Phonex(max_length=0).encode('Niall'), 'N400')

        # zero_pad tests
        self.assertEqual(
            Phonex(max_length=0, zero_pad=False).encode('Niall'), 'N4')
        self.assertEqual(
            Phonex(max_length=0, zero_pad=True).encode('Niall'), 'N400')
        self.assertEqual(Phonex(max_length=4, zero_pad=False).encode(''), '0')
        self.assertEqual(
            Phonex(max_length=4, zero_pad=True).encode(''), '0000')

        # encode_alpha
        self.assertEqual(self.pa.encode_alpha('Ewell'), 'AL')
        self.assertEqual(self.pa.encode_alpha('Filp'), 'FP')
        self.assertEqual(self.pa.encode_alpha('Heames'), 'AN')
        self.assertEqual(self.pa.encode_alpha('Kneves'), 'NP')
예제 #2
0
 'norphone': Norphone().encode,
 'nrl': NRL().encode,
 'nysiis': NYSIIS().encode,
 'nysiis_modified': NYSIIS(modified=True).encode,
 'nysiis_ml_inf': NYSIIS(max_length=-1).encode,
 'onca': ONCA().encode,
 'onca_nopad_ml8': ONCA(max_length=8, zero_pad=False).encode,
 'parmar_kumbharana': ParmarKumbharana().encode,
 'phonem': Phonem().encode,
 'phonet_1': Phonet().encode,
 'phonet_2': Phonet(mode=2).encode,
 'phonet_1_none': Phonet(lang='none').encode,
 'phonet_2_none': Phonet(mode=2, lang='none').encode,
 'phonetic_spanish': PhoneticSpanish().encode,
 'phonetic_spanish_ml4': PhoneticSpanish(max_length=4).encode,
 'phonex': Phonex().encode,
 'phonex_0pad_ml6': Phonex(max_length=6, zero_pad=True).encode,
 'phonic': PHONIC().encode,
 'phonic_0pad_ml6': PHONIC(max_length=6, zero_pad=True).encode,
 'phonic_ext': PHONIC(extended=True).encode,
 'phonix': Phonix().encode,
 'phonix_0pad_ml6': Phonix(max_length=6, zero_pad=True).encode,
 'pshp_soundex_first': PSHPSoundexFirst().encode,
 'pshp_soundex_first_german': PSHPSoundexFirst(german=True).encode,
 'pshp_soundex_first_ml8': PSHPSoundexFirst(max_length=8).encode,
 'pshp_soundex_last': PSHPSoundexLast().encode,
 'pshp_soundex_last_german': PSHPSoundexLast(german=True).encode,
 'pshp_soundex_last_ml8': PSHPSoundexLast(max_length=8).encode,
 'refined_soundex': RefinedSoundex().encode,
 'refined_soundex_vowels': RefinedSoundex(retain_vowels=True).encode,
 'refined_soundex_0pad_ml6': RefinedSoundex(zero_pad=True,
예제 #3
0
 'phonem':
 Phonem().encode,
 'phonet_1':
 Phonet().encode,
 'phonet_2':
 Phonet(mode=2).encode,
 'phonet_1_none':
 Phonet(lang='none').encode,
 'phonet_2_none':
 Phonet(mode=2, lang='none').encode,
 'phonetic_spanish':
 PhoneticSpanish().encode,
 'phonetic_spanish_ml4':
 PhoneticSpanish(max_length=4).encode,
 'phonex':
 Phonex().encode,
 'phonex_0pad_ml6':
 Phonex(max_length=6, zero_pad=True).encode,
 'phonic':
 PHONIC().encode,
 'phonic_0pad_ml6':
 PHONIC(max_length=6, zero_pad=True).encode,
 'phonic_ext':
 PHONIC(extended=True).encode,
 'phonix':
 Phonix().encode,
 'phonix_0pad_ml6':
 Phonix(max_length=6, zero_pad=True).encode,
 'pshp_soundex_first':
 PSHPSoundexFirst().encode,
 'pshp_soundex_first_german':
예제 #4
0
haase = Haase()
henry_early = HenryEarly()
koelner = Koelner()
lein = Lein()
metaphone = Metaphone()
metasoundex = MetaSoundex()
mra = MRA()
norphone = Norphone()
nrl = NRL()
nysiis = NYSIIS()
onca = ONCA()
parmar_kumbharana = ParmarKumbharana()
phonem = Phonem()
phonet = Phonet()
phonetic_spanish = PhoneticSpanish()
phonex = Phonex()
phonix = Phonix()
pshp_soundex_first = PSHPSoundexFirst()
pshp_soundex_last = PSHPSoundexLast()
refined_soundex = RefinedSoundex()
reth_schek = RethSchek()
roger_root = RogerRoot()
russell = RussellIndex()
sfinxbis = SfinxBis()
sound_d = SoundD()
soundex = Soundex()
soundex_br = SoundexBR()
spanish_metaphone = SpanishMetaphone()
spfc = SPFC()
statistics_canada = StatisticsCanada()