package scrobble import "testing" func TestQualifies_NeverPlayed(t *testing.T) { if Qualifies(0, 0) { t.Error("0/0 should not qualify") } } func TestQualifies_AtLeast240Seconds(t *testing.T) { if !Qualifies(240_000, 0.0) { t.Error("240_000 ms played should qualify regardless of ratio") } } func TestQualifies_AtLeastHalfRatio(t *testing.T) { if !Qualifies(0, 0.5) { t.Error("ratio=0.5 should qualify regardless of duration") } } func TestQualifies_BelowBoth(t *testing.T) { if Qualifies(120_000, 0.49) { t.Error("120s + 49% should not qualify") } } func TestQualifies_BoundaryJustUnder(t *testing.T) { if Qualifies(239_999, 0.4999) { t.Error("just-under both thresholds should not qualify") } } func TestQualifies_BoundaryExactly(t *testing.T) { if !Qualifies(240_000, 0.4999) { t.Error("exactly 240s should qualify") } if !Qualifies(239_999, 0.5) { t.Error("exactly 50% should qualify") } }