package engine

import (
	"testing"
)

var benchmarkCases = []struct {
	h, s, l float64
}{
	{0.0, 0.5, 0.5},   // Red
	{0.33, 0.5, 0.5},  // Green
	{0.66, 0.5, 0.5},  // Blue
	{0.5, 1.0, 0.3},   // Cyan dark
	{0.8, 0.8, 0.7},   // Purple light
}

func BenchmarkCorrectedHSLToRGB(b *testing.B) {
	b.ResetTimer()
	b.ReportAllocs()

	for i := 0; i < b.N; i++ {
		tc := benchmarkCases[i%len(benchmarkCases)]
		CorrectedHSLToRGB(tc.h, tc.s, tc.l)
	}
}

func BenchmarkNewColorCorrectedHSL(b *testing.B) {
	b.ResetTimer()
	b.ReportAllocs()

	for i := 0; i < b.N; i++ {
		tc := benchmarkCases[i%len(benchmarkCases)]
		NewColorCorrectedHSL(tc.h, tc.s, tc.l)
	}
}