blob: 9dae8c9f54be880808251141ece5dec8f5e31f61 [file] [log] [blame]
import { cutZhWords } from "./cutZhWords";
const zhDictionary = ["研究生", "研究", "生命", "科学", "生命科学"];
describe("cutZhWords", () => {
test.each<[string, string[][]]>([
[
"研究生命科学",
[
["研究", "生命科学"],
["研究", "生命", "科学"],
["研究生", "科学"],
],
],
[
"研究生命科",
[
["研究", "生命科*"],
["研究", "生命", "科*"],
["研究生", "科*"],
],
],
["研究生", [["研究生"], ["研究", "生*"]]],
[
"研究生科",
[
["研究生", "科*"],
["研究", "生*", "科*"],
],
],
["我研究生", [["研究生"], ["研究", "生*"]]],
["研究生我", [["研究生"], ["研究", "生*"]]],
["我", []],
["命", []],
])("cutZhWords('%s', zhDictionary) should work", (token, terms) => {
expect(
cutZhWords(token, zhDictionary).map((term) =>
term.map((item) => `${item.value}${item.trailing ? "*" : ""}`)
)
).toEqual(terms);
});
});