Ejemplo n.º 1
0
    def test_ngram(self):
        ngram = NGram()
        self.assertTrue(ngram.get(0) is None)
        self.assertTrue(ngram.get(1) is None)
        self.assertTrue(ngram.get(2) is None)
        self.assertTrue(ngram.get(3) is None)
        self.assertTrue(ngram.get(4) is None)
        ngram.add_char(' ')
        self.assertTrue(ngram.get(1) is None)
        self.assertTrue(ngram.get(2) is None)
        self.assertTrue(ngram.get(3) is None)
        ngram.add_char('A')
        self.assertEqual(ngram.get(1), 'A')
        self.assertEqual(ngram.get(2), ' A')
        self.assertTrue(ngram.get(3) is None)
        ngram.add_char(six.u('\u06cc'))
        self.assertEqual(ngram.get(1), six.u('\u064a'))
        self.assertEqual(ngram.get(2), six.u('A\u064a'))
        self.assertEqual(ngram.get(3), six.u(' A\u064a'))
        ngram.add_char(six.u('\u1ea0'))
        self.assertEqual(ngram.get(1), six.u('\u1ec3'))
        self.assertEqual(ngram.get(2), six.u('\u064a\u1ec3'))
        self.assertEqual(ngram.get(3), six.u('A\u064a\u1ec3'))
        ngram.add_char(six.u('\u3044'))
        self.assertEqual(ngram.get(1), six.u('\u3042'))
        self.assertEqual(ngram.get(2), six.u('\u1ec3\u3042'))
        self.assertEqual(ngram.get(3), six.u('\u064a\u1ec3\u3042'))

        ngram.add_char(six.u('\u30a4'))
        self.assertEqual(ngram.get(1), six.u('\u30a2'))
        self.assertEqual(ngram.get(2), six.u('\u3042\u30a2'))
        self.assertEqual(ngram.get(3), six.u('\u1ec3\u3042\u30a2'))
        ngram.add_char(six.u('\u3106'))
        self.assertEqual(ngram.get(1), six.u('\u3105'))
        self.assertEqual(ngram.get(2), six.u('\u30a2\u3105'))
        self.assertEqual(ngram.get(3), six.u('\u3042\u30a2\u3105'))
        ngram.add_char(six.u('\uac01'))
        self.assertEqual(ngram.get(1), six.u('\uac00'))
        self.assertEqual(ngram.get(2), six.u('\u3105\uac00'))
        self.assertEqual(ngram.get(3), six.u('\u30a2\u3105\uac00'))
        ngram.add_char(six.u('\u2010'))
        self.assertTrue(ngram.get(1) is None)
        self.assertEqual(ngram.get(2), six.u('\uac00 '))
        self.assertEqual(ngram.get(3), six.u('\u3105\uac00 '))

        ngram.add_char('a')
        self.assertEqual(ngram.get(1), 'a')
        self.assertEqual(ngram.get(2), ' a')
        self.assertTrue(ngram.get(3) is None)
Ejemplo n.º 2
0
    def test_ngram3(self):
        ngram = NGram()

        ngram.add_char('A')
        self.assertEqual(ngram.get(1), 'A')
        self.assertEqual(ngram.get(2), ' A')
        self.assertTrue(ngram.get(3) is None)

        ngram.add_char('1')
        self.assertTrue(ngram.get(1) is None)
        self.assertEqual(ngram.get(2), 'A ')
        self.assertEqual(ngram.get(3), ' A ')

        ngram.add_char('B')
        self.assertEqual(ngram.get(1), 'B')
        self.assertEqual(ngram.get(2), ' B')
        self.assertTrue(ngram.get(3) is None)