Ejemplo n.º 1
0
class TestModel(TestCase):
    def setUp(self):
        super(TestModel, self).setUp()
        self.testModel = Model(depth=3, skip=1)
        testcases = resource_filename("sandhisplitter.tests",
                                      "resources/samples.txt")
        self.entries = open(testcases, "r", encoding='utf-8')

    def test_load(self):
        count = 0
        firstline = None
        for line in self.entries:
            count += 1
            if count == 1:
                firstline = line
            (word, splits, locs) = extract(line)
            self.testModel.add_entry(word, splits, locs)
        m = self.testModel.serialize()
        self.testModel.load(m)
        self.assertEqual(self.testModel.k, 3)
        self.assertEqual(self.testModel.initial_skip, 1)
        self.assertEqual(self.testModel.k, m["k"])
        self.assertEqual(self.testModel.initial_skip, m["initial_skip"])
        # Test probale splits
        (word, splits, locs) = extract(firstline)
        locs = list(locs)
        sps = self.testModel.probable_splits(word)
        self.assertEqual(sps, locs)

    def test_error(self):
        self.assertRaises(ValueError, Model, "what")
Ejemplo n.º 2
0
class Splitter:
    def __init__(self, model):
        self.M = Model(model=model)

    def splits(self, word):
        return self.M.probable_splits(word)