почему при таком условии не проходит 3 пункт 3.Метод compareTo класса Beach как минимум должен учитывать качество пляжа и дистанцию. рекомендация ментора Убедись, что для разных объектов возвращаются действительно разные значения compareTo.
@Override
    public synchronized int compareTo(Beach o) {
        /*float result = this.quality - this.distance - o.quality + o.distance;
        return (int)result;*/
        if (quality > o.quality && distance < o.distance){
            return 1;
        }else if (quality < o.quality && distance > o.distance){
            return -1;
        }else {
            return 0;
        }
    }