MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / TEST

Function TEST

external/sentencepiece/src/char_model_test.cc:51–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51TEST(ModelTest, EncodeTest) {
52 ModelProto model_proto = MakeBaseModelProto();
53
54 AddPiece(&model_proto, WS, 0.0);
55 AddPiece(&model_proto, "a", 0.1);
56 AddPiece(&model_proto, "b", 0.2);
57 AddPiece(&model_proto, "c", 0.3);
58 AddPiece(&model_proto, "d", 0.4);
59 AddPiece(&model_proto, "ABC", 0.4);
60 model_proto.mutable_pieces(8)->set_type(
61 ModelProto::SentencePiece::USER_DEFINED);
62
63 const Model model(model_proto);
64
65 EncodeResult result;
66
67 result = model.Encode("");
68 EXPECT_TRUE(result.empty());
69
70 result = model.Encode(WS "a" WS "b" WS "c");
71 EXPECT_EQ(6, result.size());
72 EXPECT_EQ(WS, result[0].first);
73 EXPECT_EQ("a", result[1].first);
74 EXPECT_EQ(WS, result[2].first);
75 EXPECT_EQ("b", result[3].first);
76 EXPECT_EQ(WS, result[4].first);
77 EXPECT_EQ("c", result[5].first);
78
79 result = model.Encode(WS "ab" WS "cd" WS "abc");
80 EXPECT_EQ(10, result.size());
81 EXPECT_EQ(WS, result[0].first);
82 EXPECT_EQ("a", result[1].first);
83 EXPECT_EQ("b", result[2].first);
84 EXPECT_EQ(WS, result[3].first);
85 EXPECT_EQ("c", result[4].first);
86 EXPECT_EQ("d", result[5].first);
87 EXPECT_EQ(WS, result[6].first);
88 EXPECT_EQ("a", result[7].first);
89 EXPECT_EQ("b", result[8].first);
90 EXPECT_EQ("c", result[9].first);
91
92 // makes a broken utf-8
93 const std::string broken_utf8 = std::string("あ").substr(0, 1);
94 result = model.Encode(broken_utf8);
95 EXPECT_EQ(1, result.size());
96 EXPECT_EQ(broken_utf8, result[0].first);
97
98 // "ABC" is treated as one piece, as it is USER_DEFINED.
99 result = model.Encode(WS "abABCcd");
100 EXPECT_EQ(6, result.size());
101 EXPECT_EQ(WS, result[0].first);
102 EXPECT_EQ("a", result[1].first);
103 EXPECT_EQ("b", result[2].first);
104 EXPECT_EQ("ABC", result[3].first);
105 EXPECT_EQ("c", result[4].first);
106 EXPECT_EQ("d", result[5].first);
107}
108

Callers

nothing calls this directly

Calls 10

set_typeMethod · 0.80
MakeBaseModelProtoFunction · 0.70
AddPieceFunction · 0.70
stringFunction · 0.50
mutable_piecesMethod · 0.45
EncodeMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45
NBestEncodeMethod · 0.45
SampleEncodeMethod · 0.45

Tested by

no test coverage detected