/// module SpaceTac.Game.Specs { "use strict"; class TestObj { a: string; b: any; constructor() { this.a = "test"; this.b = {c: 5.1, d: ["unit", "test", 5]}; } get(): string { return this.a; } } describe("Tools", () => { it("copies full javascript objects", () => { var ini = new TestObj(); var cop = Tools.copyObject(ini); expect(cop).not.toBe(ini); expect(cop).toEqual(ini); expect(cop.get()).toEqual("test"); }); it("merges objects", () => { expect(Tools.merge({}, {})).toEqual({}); expect(Tools.merge({"a": 1}, {"b": 2})).toEqual({"a": 1, "b": 2}); expect(Tools.merge({"a": 1}, {"a": 3, "b": 2})).toEqual({"a": 3, "b": 2}); }); }); }