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