import { expect, test } from "vitest" import { hslColorValueToHslColorString, hslColorValueToHslaColorString, hsvColorValueToHsvColorString, hsvColorValueToHsvaColorString, srgbColorValueToHexColorString, srgbColorValueToRgbColorString, srgbColorValueToRgbaColorString, } from "#Source/color/index.ts" test("srgbColorValueToHexColorString serializes hex output", () => { expect(srgbColorValueToHexColorString({ red: 51, green: 102, blue: 153, alpha: 0.5 })).toBe( "#336699", ) expect( srgbColorValueToHexColorString( { red: 51, green: 102, blue: 153, alpha: 0.5 }, { includeAlpha: true }, ), ).toBe("#33669980") }) test("srgbColorValueToRgbColorString serializes rgb output", () => { expect(srgbColorValueToRgbColorString({ red: 51, green: 102, blue: 153, alpha: 0.5 })).toBe( "rgb(51, 102, 153)", ) expect(srgbColorValueToRgbColorString({ red: 0, green: 0, blue: 0, alpha: 1 })).toBe( "rgb(0, 0, 0)", ) }) test("srgbColorValueToRgbaColorString serializes rgba output", () => { expect(srgbColorValueToRgbaColorString({ red: 51, green: 102, blue: 153, alpha: 0.5 })).toBe( "rgba(51, 102, 153, 0.5)", ) expect(srgbColorValueToRgbaColorString({ red: 255, green: 255, blue: 255, alpha: 1 })).toBe( "rgba(255, 255, 255, 1)", ) }) test("hslColorValueToHslColorString serializes hsl output", () => { expect( hslColorValueToHslColorString({ hue: 210, saturation: 0.5, lightness: 0.4, alpha: 0.5 }), ).toBe("hsl(210, 50%, 40%)") expect(hslColorValueToHslColorString({ hue: 0, saturation: 0, lightness: 1, alpha: 1 })).toBe( "hsl(0, 0%, 100%)", ) }) test("hslColorValueToHslaColorString serializes hsla output", () => { expect( hslColorValueToHslaColorString({ hue: 210, saturation: 0.5, lightness: 0.4, alpha: 0.5 }), ).toBe("hsla(210, 50%, 40%, 0.5)") expect(hslColorValueToHslaColorString({ hue: 0, saturation: 0, lightness: 1, alpha: 1 })).toBe( "hsla(0, 0%, 100%, 1)", ) }) test("hsvColorValueToHsvColorString serializes hsv output", () => { expect( hsvColorValueToHsvColorString({ hue: 210, saturation: 0.666_7, value: 0.6, alpha: 0.5 }), ).toBe("hsv(210, 66.67%, 60%)") expect(hsvColorValueToHsvColorString({ hue: 0, saturation: 0, value: 1, alpha: 1 })).toBe( "hsv(0, 0%, 100%)", ) }) test("hsvColorValueToHsvaColorString serializes hsva output", () => { expect( hsvColorValueToHsvaColorString({ hue: 210, saturation: 0.666_7, value: 0.6, alpha: 0.5 }), ).toBe("hsva(210, 66.67%, 60%, 0.5)") expect(hsvColorValueToHsvaColorString({ hue: 0, saturation: 0, value: 1, alpha: 1 })).toBe( "hsva(0, 0%, 100%, 1)", ) })