package playlists import ( "testing" "github.com/jackc/pgx/v5/pgtype" ) func TestTieBreakHash_Deterministic(t *testing.T) { id := pgtype.UUID{Bytes: [16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, Valid: true} a := tieBreakHash(id, "2026-05-04") b := tieBreakHash(id, "2026-05-04") if a != b { t.Fatalf("same inputs gave different hashes: %d vs %d", a, b) } } func TestTieBreakHash_DifferentDateChangesHash(t *testing.T) { id := pgtype.UUID{Bytes: [16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, Valid: true} may4 := tieBreakHash(id, "2026-05-04") may5 := tieBreakHash(id, "2026-05-05") if may4 == may5 { t.Errorf("different dates should change hash; got %d for both", may4) } } func TestTieBreakHash_DifferentTrackChangesHash(t *testing.T) { a := pgtype.UUID{Bytes: [16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, Valid: true} b := pgtype.UUID{Bytes: [16]byte{16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1}, Valid: true} if tieBreakHash(a, "2026-05-04") == tieBreakHash(b, "2026-05-04") { t.Errorf("different track ids should change hash for the same date") } }