import { describe, it, expect } from "vitest"; import { compress } from "./compress.ts"; describe("compress", () => { it(`["a", "a", "b", "b", "c", "c", "c"] => a2b2c3 => 6`, () => { const arr = ["a", "a", "b", "b", "c", "c", "c"]; expect(compress(arr)).toBe(6); }); it(`["a"] => a => 1`, () => { const arr = ["a"]; expect(compress(arr)).toBe(1); }); it(`["a","b","b","b","b","b","b","b","b","b","b","b","b"] => ab12 => 4`, () => { const arr = ["a", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b"]; expect(compress(arr)).toBe(4); }); it(`["a","a","a","b","b","a","a"] => a3b2a2 => 6`, () => { const arr = ["a", "a", "a", "b", "b", "a", "a"]; expect(compress(arr)).toBe(6); }); it(`["a","a","a","a","a","b"] => a5b => 3`, () => { const arr = ["a", "a", "a", "a", "a", "b"]; expect(compress(arr)).toBe(3); }); it(`["a","a","a","b","b","b","c","c","c"] => a3b3c3 => 6`, () => { const arr = ["a", "a", "a", "b", "b", "b", "c", "c", "c"]; expect(compress(arr)).toBe(6); }); });