Exemplo n.º 1
0
    def test_SoundClassModel(self):
        from lingpy3.sequence.soundclassmodel import SoundClassModel

        with patch('lingpy3.sequence.soundclassmodel.Cache', dict):
            asjp = SoundClassModel.from_path(data_path('models', 'asjp'))
            assert list(asjp.converter.keys())[0] in asjp
            assert asjp[list(asjp.converter.keys())[0]]
            asjp('G', 'G')
            #self.assertAlmostEqual(asjp('G', 'G'), 10.0)
            self.assertEqual(asjp.converter, CONVERTER_ASJP)
            self.assertIn('asjp', repr(asjp))
            self.assertIn('asjp', '%s' % asjp)
            model = SoundClassModel.from_path(data_path('models', 'diss'))
            self.assertEqual(model.scorer.matrix, MATRIX_DISS)

            models = {
                name: SoundClassModel.from_name(name)
                for name in ['sca', 'dolgo', 'art', 'color', 'asjp']
            }
            segments = set()
            for model in models.values():
                for segment in model.converter:
                    segments.add(segment)
            failures = defaultdict(list)
            for model in models.values():
                values = list(model.converter.keys())
                for segment in segments:
                    if segment not in values and segment != '-':
                        failures[model.name].append(segment)
            assert not failures
Exemplo n.º 2
0
    def test_ScoreTree(self):
        from lingpy3.sequence.scoretree import ScoreTree

        tree = ScoreTree(list(read_items(data_path('models', 'sca',
                                                   'scorer'))))
        sd = tree.get_scoredict()
        self.assertEqual(sd.matrix[20], [
            -100.0, 0.0, -20.0, -20.0, -20.0, -20.0, -20.0, -20.0, 9.0, -10.0,
            0.0, 0.0, 0.0, -10.0, 0.0, 0.0, -10.0, 0.0, 0.0, 0.0, 10.0, 1.0,
            -10.0, 0.0, 0.0, 0.0, 0.0, -10.0, 0.0, 0.0, -10.0, -10.0
        ])
Exemplo n.º 3
0
 def from_name(cls, name):
     return cls.from_path(data_path('models', name))