import { HSVtoRGB } from "../../src/conversions/hsv"; describe("HSVtoRGB", () => { test.each` name | input | expected ${"Black"} | ${{ h: 0, s: 0, v: 0, a: 1 }} | ${{ r: 0, g: 0, b: 0, a: 1 }} ${"White"} | ${{ h: 0, s: 0, v: 100, a: 1 }} | ${{ r: 255, g: 255, b: 255, a: 1 }} ${"Red"} | ${{ h: 0, s: 100, v: 100, a: 1 }} | ${{ r: 255, g: 0, b: 0, a: 1 }} ${"Lime"} | ${{ h: 120, s: 100, v: 100, a: 1 }} | ${{ r: 0, g: 255, b: 0, a: 1 }} ${"Blue"} | ${{ h: 240, s: 100, v: 100, a: 1 }} | ${{ r: 0, g: 0, b: 255, a: 1 }} ${"Yellow"} | ${{ h: 60, s: 100, v: 100, a: 1 }} | ${{ r: 255, g: 255, b: 0, a: 1 }} ${"Cyan"} | ${{ h: 180, s: 100, v: 100, a: 1 }} | ${{ r: 0, g: 255, b: 255, a: 1 }} ${"Magenta"} | ${{ h: 300, s: 100, v: 100, a: 1 }} | ${{ r: 255, g: 0, b: 255, a: 1 }} ${"Silver"} | ${{ h: 0, s: 0, v: 75.29411764705883, a: 1 }} | ${{ r: 192, g: 192, b: 192, a: 1 }} ${"Gray"} | ${{ h: 0, s: 0, v: 50.19607843137255, a: 1 }} | ${{ r: 128, g: 128, b: 128, a: 1 }} ${"Maroon"} | ${{ h: 0, s: 100, v: 50.19607843137255, a: 1 }} | ${{ r: 128, g: 0, b: 0, a: 1 }} ${"Olive"} | ${{ h: 60, s: 100, v: 50.19607843137255, a: 1 }} | ${{ r: 128, g: 128, b: 0, a: 1 }} ${"Green"} | ${{ h: 120, s: 100, v: 50.19607843137255, a: 1 }} | ${{ r: 0, g: 128, b: 0, a: 1 }} ${"Purple"} | ${{ h: 300, s: 100, v: 50.19607843137255, a: 1 }} | ${{ r: 128, g: 0, b: 128, a: 1 }} ${"Teal"} | ${{ h: 180, s: 100, v: 50.19607843137255, a: 1 }} | ${{ r: 0, g: 128, b: 128, a: 1 }} ${"Navy"} | ${{ h: 240, s: 100, v: 50.19607843137255, a: 1 }} | ${{ r: 0, g: 0, b: 128, a: 1 }} ${"undefined alpha"} | ${{ h: 240, s: 100, v: 50.19607843137255 }} | ${{ r: 0, g: 0, b: 128, a: 1 }} `("$name", ({ input, expected }) => { expect(HSVtoRGB(input)).toMatchObject(expected); }); });