UNPKG

fuzzy-rater

Version:

Tooling for fuzzily rating text according to some query

199 lines 14.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const convertNFATemplateToDFATemplate_1 = require("../convertNFATemplateToDFATemplate"); describe("convertNFATemplateToDFATemplate", () => { it("Should obtain the proper initial state", () => { const nfa = [ { ID: "1", initial: true, transitions: [ { to: "3", type: "empty", metadata: undefined }, { to: "4", type: "character", character: "4", metadata: undefined }, ], metadata: undefined, }, { ID: "2", initial: true, transitions: [ { to: "3", type: "character", character: "4", metadata: undefined }, ], metadata: undefined, }, { ID: "3", initial: false, transitions: [{ to: "5", type: "empty", metadata: undefined }], metadata: undefined, }, { ID: "4", initial: false, transitions: [ { to: "1", type: "empty", metadata: undefined }, { to: "4", type: "character", character: "4", metadata: undefined }, ], metadata: undefined, }, { ID: "5", initial: false, transitions: [], metadata: undefined, }, ]; const dfa = convertNFATemplateToDFATemplate_1.convertNFATemplateToDFATemplate(nfa); expect(dfa.initial).toBe("{1,2,3,5}"); }); it("Should properly create combined character transitions", () => { const a = { ID: "a", initial: true, transitions: [ { to: "b", type: "character", character: "a", metadata: undefined }, { to: "c", type: "character", character: "a", metadata: undefined }, ], metadata: undefined, }; const b = { ID: "b", initial: false, transitions: [ { to: "d", type: "character", character: "b", metadata: undefined }, { to: "e", type: "character", character: "c", metadata: undefined }, ], metadata: undefined, }; const c = { ID: "c", initial: false, transitions: [ { to: "f", type: "character", character: "b", metadata: undefined }, { to: "g", type: "character", character: "d", metadata: undefined }, { to: "h", type: "remaining", metadata: undefined }, ], metadata: undefined, }; const d = { ID: "d", initial: false, transitions: [], metadata: undefined, }; const e = { ID: "e", initial: false, transitions: [], metadata: undefined, }; const f = { ID: "f", initial: false, transitions: [], metadata: undefined, }; const g = { ID: "g", initial: false, transitions: [], metadata: undefined, }; const h = { ID: "h", initial: false, transitions: [], metadata: undefined, }; const nfa = [ a, b, c, d, e, f, g, h, ]; const dfa = convertNFATemplateToDFATemplate_1.convertNFATemplateToDFATemplate(nfa); const dfaTest = { initial: "{a}", nodes: [ { ID: "{a}", transitions: [ { to: "{b,c}", type: "character", character: "a", metadata: { sources: a.transitions }, }, { to: "{}", type: "remaining", metadata: { sources: [] }, }, ], metadata: { sources: [a] }, }, { ID: "{b,c}", transitions: [ { to: "{d,f}", type: "character", character: "b", metadata: { sources: [b.transitions[0], c.transitions[0]] }, }, { to: "{e,h}", type: "character", character: "c", metadata: { sources: [b.transitions[1], c.transitions[2]] }, }, { to: "{g}", type: "character", character: "d", metadata: { sources: [c.transitions[1]] }, }, { to: "{h}", type: "remaining", metadata: { sources: [c.transitions[2]] }, }, ], metadata: { sources: [b, c] }, }, { ID: "{d,f}", transitions: [{ to: "{}", type: "remaining", metadata: { sources: [] } }], metadata: { sources: [d, f] }, }, { ID: "{e,h}", transitions: [{ to: "{}", type: "remaining", metadata: { sources: [] } }], metadata: { sources: [e, h] }, }, { ID: "{g}", transitions: [{ to: "{}", type: "remaining", metadata: { sources: [] } }], metadata: { sources: [g] }, }, { ID: "{h}", transitions: [{ to: "{}", type: "remaining", metadata: { sources: [] } }], metadata: { sources: [h] }, }, { ID: "{}", transitions: [{ to: "{}", type: "remaining", metadata: { sources: [] } }], metadata: { sources: [] }, }, ], }; expect(dfa.initial).toEqual(dfaTest.initial); expect(new Set(dfa.nodes)).toEqual(new Set(dfaTest.nodes)); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydE5GQVRlbXBsYXRlVG9ERkFUZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ERkEvX3Rlc3RzL2NvbnZlcnRORkFUZW1wbGF0ZVRvREZBVGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx3RkFBbUY7QUFHbkYsUUFBUSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtJQUM3QyxFQUFFLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO1FBQzlDLE1BQU0sR0FBRyxHQUFpRDtZQUN0RDtnQkFDSSxFQUFFLEVBQUUsR0FBRztnQkFDUCxPQUFPLEVBQUUsSUFBSTtnQkFDYixXQUFXLEVBQUU7b0JBQ1QsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQztvQkFDN0MsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDO2lCQUNwRTtnQkFDRCxRQUFRLEVBQUUsU0FBUzthQUN0QjtZQUNEO2dCQUNJLEVBQUUsRUFBRSxHQUFHO2dCQUNQLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFdBQVcsRUFBRTtvQkFDVCxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUM7aUJBQ3BFO2dCQUNELFFBQVEsRUFBRSxTQUFTO2FBQ3RCO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLEdBQUc7Z0JBQ1AsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsV0FBVyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUFDO2dCQUM1RCxRQUFRLEVBQUUsU0FBUzthQUN0QjtZQUNE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