import { commands } from "./secret-handshake"; describe("Secret Handshake", () => { describe("Create A Handshake For A Number", () => { it("wink for 1", () => { expect(commands(1)).toEqual(["wink"]); }); it("double blink for 10", () => { expect(commands(2)).toEqual(["double blink"]); }); it("close your eyes for 100", () => { expect(commands(4)).toEqual(["close your eyes"]); }); it("jump for 1000", () => { expect(commands(8)).toEqual(["jump"]); }); it("combine two actions", () => { expect(commands(3)).toEqual(["wink", "double blink"]); }); it("reverse two actions", () => { expect(commands(19)).toEqual(["double blink", "wink"]); }); it("reversing one action gives the same action", () => { expect(commands(24)).toEqual(["jump"]); }); it("reversing no actions still gives no actions", () => { expect(commands(16)).toEqual([]); }); it("all possible actions", () => { expect(commands(15)).toEqual([ "wink", "double blink", "close your eyes", "jump", ]); }); it("reverse all possible actions", () => { expect(commands(31)).toEqual([ "jump", "close your eyes", "double blink", "wink", ]); }); it("do nothing for zero", () => { expect(commands(0 as 1)).toEqual([]); }); }); });