UNPKG

malwoden

Version:

![alt text](./coverage/badge-lines.svg) ![alt text](./coverage/badge-statements.svg) ![alt text](./coverage/badge-functions.svg) ![alt text](./coverage/badge-branches.svg)

47 lines 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var struct_1 = require("../struct"); var builder_1 = require("./builder"); describe("builder", function () { it("can take snapshots", function () { var b = new builder_1.Builder({ width: 10, height: 10 }); var m = b.getMap(); var v = { x: 1, y: 1 }; b.takeSnapshot(); m.set(v, 10); b.takeSnapshot(); m.set(v, 20); b.takeSnapshot(); var s = b.getSnapshots(); expect(s).toHaveLength(3); expect(s[0].get(v)).toEqual(undefined); expect(s[1].get(v)).toEqual(10); expect(s[2].get(v)).toEqual(20); }); it("can clear snapshots", function () { var b = new builder_1.Builder({ width: 10, height: 10 }); expect(b.getSnapshots()).toHaveLength(0); b.takeSnapshot(); expect(b.getSnapshots()).toHaveLength(1); b.clearSnapshots(); expect(b.getSnapshots()).toHaveLength(0); }); it("can start from an existing map", function () { var t = new struct_1.Table(10, 10); t.fill(1); var b = new builder_1.Builder({ width: 10, height: 10 }); b.copyFrom(t); var m = b.getMap(); expect(m.get({ x: 1, y: 1 })).toEqual(1); t.set({ x: 1, y: 1 }, 0); expect(m.get({ x: 1, y: 1 })).toEqual(1); }); it("cannot copy between builders of different sizes", function () { var b = new builder_1.Builder({ width: 10, height: 10 }); var b2 = new builder_1.Builder({ width: 20, height: 20 }); expect(function () { b.copyFrom(b2.getMap()); }).toThrowError("Cannot copy between builders of different sizes"); }); }); //# sourceMappingURL=builder.spec.js.map