import assert from "assert" import { toVLQ, fromVLQ } from "./vlq" describe("MidiFileWriter", () => { it("should convert integer to VLQ", () => { assert.deepEqual(toVLQ(0x00000000), [0x00]) assert.deepEqual(toVLQ(0x0000007F), [0x7F]) assert.deepEqual(toVLQ(0x00000080), [0x81, 0x00]) assert.deepEqual(toVLQ(0x00002000), [0xC0, 0x00]) assert.deepEqual(toVLQ(0x00003FFF), [0xFF, 0x7F]) assert.deepEqual(toVLQ(0x00004000), [0x81, 0x80, 0x00]) assert.deepEqual(toVLQ(0x001FFFFF), [0xFF, 0xFF, 0x7F]) assert.deepEqual(toVLQ(0x00200000), [0x81, 0x80, 0x80, 0x00]) assert.deepEqual(toVLQ(0x08000000), [0xC0, 0x80, 0x80, 0x00]) assert.deepEqual(toVLQ(0x0FFFFFFF), [0xFF, 0xFF, 0xFF, 0x7F]) }) it("should convert VLQ to integer", () => { assert.deepEqual(0x00000000, fromVLQ([0x00])) assert.deepEqual(0x0000007F, fromVLQ([0x7F])) assert.deepEqual(0x00000080, fromVLQ([0x81, 0x00])) assert.deepEqual(0x00002000, fromVLQ([0xC0, 0x00])) assert.deepEqual(0x00003FFF, fromVLQ([0xFF, 0x7F])) assert.deepEqual(0x00004000, fromVLQ([0x81, 0x80, 0x00])) assert.deepEqual(0x001FFFFF, fromVLQ([0xFF, 0xFF, 0x7F])) assert.deepEqual(0x00200000, fromVLQ([0x81, 0x80, 0x80, 0x00])) assert.deepEqual(0x08000000, fromVLQ([0xC0, 0x80, 0x80, 0x00])) assert.deepEqual(0x0FFFFFFF, fromVLQ([0xFF, 0xFF, 0xFF, 0x7F])) }) })