package library import ( "testing" "github.com/stretchr/testify/assert" ) func TestPalette(t *testing.T) { // 60% тёмно-синего, 30% белого, 10% ярко-оранжевого: оранжевый — акцент, хотя его меньше всего. var px []byte add := func(n int, r, g, b byte) { for range n { px = append(px, r, g, b) } } add(600, 20, 30, 90) add(300, 250, 250, 250) add(100, 250, 140, 20) p := Palette(px) assert.Equal(t, []string{"#141E5A", "#FAFAFA", "#FA8C14"}, p) assert.Equal(t, p, Palette(px), "deterministic") assert.Len(t, Palette([]byte{1, 2, 3}), 3, "single colour fills all three slots") assert.Nil(t, Palette(nil)) }