simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
97 lines • 7.59 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const moveRemove_1 = require("./moveRemove");
test("moveRemove", () => {
const source = Array.from("012345678");
const a = (0, moveRemove_1.applyStringMove)(source, {
type: "move",
sourceIndex: 6,
destIndex: 3
});
expect(a).toEqual(Array.from("012634578"));
const b = (0, moveRemove_1.applyStringMove)(source, {
type: "move",
sourceIndex: 3,
destIndex: 6
});
expect(b).toEqual(Array.from("012456378"));
const c = (0, moveRemove_1.applyStringMove)(source, {
type: "remove",
index: 3
});
expect(c).toEqual(Array.from("01245678"));
const d = (0, moveRemove_1.applyStringMove)(source, {
type: "insert",
index: 4,
value: "9"
});
expect(d).toEqual(Array.from("0123945678"));
const e = (0, moveRemove_1.applyStringMove)(source, {
type: "dup",
sourceIndex: 2,
destIndex: 5
});
expect(e).toEqual(Array.from("0123425678"));
});
test("stringMoves moves", () => {
const source = Array.from("ABCD");
expect((0, moveRemove_1.getStringMoves)(source, Array.from("ABCD"))).toEqual([]);
expect((0, moveRemove_1.getStringMoves)(source, Array.from("ABC"))).toEqual([
{
type: "remove",
index: 3
}
]);
expect((0, moveRemove_1.getStringMoves)(source, Array.from("AB"))).toEqual([
{
type: "remove",
index: 2
}, {
type: "remove",
index: 2
}
]);
expect((0, moveRemove_1.getStringMoves)(source, Array.from("BACD"))).toEqual([
{
type: "move",
sourceIndex: 1,
destIndex: 0
}
]);
});
test("stringMoves results", () => {
const source = Array.from("ABCD");
function test(dest) {
const destArr = Array.from(dest);
const moves = (0, moveRemove_1.getStringMoves)(source, destArr);
const actualDest = moves.reduce((a, b) => (0, moveRemove_1.applyStringMove)(a, b), source);
expect(actualDest).toEqual(destArr);
}
test("ABABAB");
test("CCCAAA");
test("CCCAAACCC");
test("FABCDF");
test("ABCDF");
test("DCBA");
test("DCCBA");
test("BCAAA");
test("ACD");
test("ABCD");
test("BACD");
test("A");
test("");
test("ABBCD");
test("AAAA");
test("CCCC");
});
test("stringMoves string array", () => {
const source = ["ab", "cd", "ef"];
function test(dest) {
const moves = (0, moveRemove_1.getStringMoves)(source, dest);
const actualDest = moves.reduce((a, b) => (0, moveRemove_1.applyStringMove)(a, b), source);
expect(actualDest).toEqual(dest);
}
test(["ab", "cd", "ef"]);
test(["cd", "ab", "ef"]);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZVJlbW92ZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0cmluZ3MvZGlzdGFuY2UvbW92ZVJlbW92ZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQStEO0FBRS9ELElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3BCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkMsTUFBTSxDQUFDLEdBQUcsSUFBQSw0QkFBZSxFQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxDQUFDO1FBQ2QsU0FBUyxFQUFFLENBQUM7S0FDZixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUUzQyxNQUFNLENBQUMsR0FBRyxJQUFBLDRCQUFlLEVBQUMsTUFBTSxFQUFFO1FBQzlCLElBQUksRUFBRSxNQUFNO1FBQ1osV0FBVyxFQUFFLENBQUM7UUFDZCxTQUFTLEVBQUUsQ0FBQztLQUNmLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxHQUFHLElBQUEsNEJBQWUsRUFBQyxNQUFNLEVBQUU7UUFDOUIsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsQ0FBQztLQUNYLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxHQUFHLElBQUEsNEJBQWUsRUFBQyxNQUFNLEVBQUU7UUFDOUIsSUFBSSxF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
;