51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
|
import {
|
|||
|
psHash,
|
|||
|
dePsHash,
|
|||
|
PsHash,
|
|||
|
} from "./word-list-maker";
|
|||
|
import {
|
|||
|
Types as T,
|
|||
|
} from "@lingdocs/inflect";
|
|||
|
|
|||
|
const toTest: {
|
|||
|
plain: T.PsWord,
|
|||
|
hash: PsHash,
|
|||
|
}[] = [
|
|||
|
{
|
|||
|
plain: { p: "کور", f: "kor" },
|
|||
|
hash: "کورXkor",
|
|||
|
},
|
|||
|
{
|
|||
|
plain: {
|
|||
|
p: "کنار", f: "kanaar",
|
|||
|
hyphen: [
|
|||
|
{ type: "unwritten", f: "e" },
|
|||
|
{ type: "written", f: "daryaab", p: "دریاب" },
|
|||
|
],
|
|||
|
},
|
|||
|
hash: "کنارXkanaar-Xe-دریابXdaryaab",
|
|||
|
},
|
|||
|
{
|
|||
|
plain: {
|
|||
|
p: "کار", f: "kaar",
|
|||
|
hyphen: [
|
|||
|
{ type: "written", f: "U", p: "و" },
|
|||
|
{ type: "written", f: "baar", p: "بار" },
|
|||
|
],
|
|||
|
},
|
|||
|
hash: "کارXkaar-وXU-بارXbaar",
|
|||
|
},
|
|||
|
];
|
|||
|
|
|||
|
test("psHash should work", () => {
|
|||
|
toTest.forEach((t) => {
|
|||
|
expect(psHash(t.plain)).toEqual(t.hash);
|
|||
|
});
|
|||
|
});
|
|||
|
|
|||
|
test("dePsHash should work", () => {
|
|||
|
toTest.forEach((t) => {
|
|||
|
expect(dePsHash(t.hash)).toEqual(t.plain);
|
|||
|
});
|
|||
|
});
|