| 30 | namespace unigram { |
| 31 | |
| 32 | TEST(LatticeTest, SetSentenceTest) { |
| 33 | Lattice lattice; |
| 34 | |
| 35 | EXPECT_EQ(0, lattice.size()); |
| 36 | EXPECT_EQ(0, lattice.utf8_size()); |
| 37 | |
| 38 | lattice.SetSentence(""); |
| 39 | EXPECT_EQ(0, lattice.size()); |
| 40 | EXPECT_EQ(0, lattice.utf8_size()); |
| 41 | EXPECT_STREQ("", lattice.sentence()); |
| 42 | EXPECT_STREQ("", lattice.surface(0)); |
| 43 | |
| 44 | lattice.SetSentence("test"); |
| 45 | EXPECT_EQ(4, lattice.size()); |
| 46 | EXPECT_EQ(4, lattice.utf8_size()); |
| 47 | EXPECT_STREQ("test", lattice.sentence()); |
| 48 | EXPECT_STREQ("test", lattice.surface(0)); |
| 49 | EXPECT_STREQ("est", lattice.surface(1)); |
| 50 | EXPECT_STREQ("st", lattice.surface(2)); |
| 51 | EXPECT_STREQ("t", lattice.surface(3)); |
| 52 | |
| 53 | Lattice::Node *bos = lattice.bos_node(); |
| 54 | Lattice::Node *eos = lattice.eos_node(); |
| 55 | |
| 56 | EXPECT_EQ(-1, bos->id); |
| 57 | EXPECT_EQ(-1, eos->id); |
| 58 | EXPECT_EQ(bos, lattice.end_nodes(0).front()); |
| 59 | EXPECT_EQ(eos, lattice.begin_nodes(4).front()); |
| 60 | |
| 61 | lattice.SetSentence("テストab"); |
| 62 | EXPECT_EQ(5, lattice.size()); |
| 63 | EXPECT_EQ(11, lattice.utf8_size()); |
| 64 | EXPECT_STREQ("テストab", lattice.sentence()); |
| 65 | EXPECT_STREQ("テストab", lattice.surface(0)); |
| 66 | EXPECT_STREQ("ストab", lattice.surface(1)); |
| 67 | EXPECT_STREQ("トab", lattice.surface(2)); |
| 68 | EXPECT_STREQ("ab", lattice.surface(3)); |
| 69 | EXPECT_STREQ("b", lattice.surface(4)); |
| 70 | |
| 71 | lattice.Clear(); |
| 72 | EXPECT_EQ(0, lattice.size()); |
| 73 | EXPECT_EQ(0, lattice.utf8_size()); |
| 74 | } |
| 75 | |
| 76 | TEST(LatticeTest, InsertTest) { |
| 77 | Lattice lattice; |
nothing calls this directly
no test coverage detected