peterarsentev / job4j_features_bugs

Ошибки и предложения в проекте Job4j.ru
https://job4j.ru
Apache License 2.0
11 stars 2 forks source link

неправильный тест в уроке 4.3.3 Логическое отрицание ! #1758

Closed sergosar closed 3 days ago

sergosar commented 1 month ago

ссылка на урок https://job4j.ru/profile/exercise/13/task/61/503099 Обязательно учтите, что 0 это не положительное число и не отрицательное. события описываемые в следующих тестах образуют полную группу событий и вообще оно понятно что второй тест должен выдавать true. @Test void whenNumIs0IsPositiveFalse() { int num = 0; boolean result = LogicNot.isPositive(num); assertThat(result).isFalse(); } @Test void whenNumIs0NotPositiveFalse() { int num = 0; boolean result = LogicNot.notPositive(num); assertThat(result).isFalse(); }

staskorobeynikov commented 3 weeks ago

ВСе тесты верные. 0 разбивает числовое пространство на положительные и отрицательные числа, но сам является особым числом и не относится ни к одним ни ко вторым. В одном другом тесте должен быть false

sergosar commented 2 weeks ago

Со всем уважением, не согласен. Там два теста образуют полную группу событий в которой суммарная вероятность исхода равна единице. Это всё равно что отвечать на вопрос: апельсин это яблоко? (False) и апельсин это НЕ яблоко (True), в тестах на оба схожих вопроса даётся ответ false. То что ноль это абсолютная точка и не положительная и не отрицаиельная никак не влияет на результат...

Отправлено из Mail.ru для Android понедельник, 12 августа 2024г., 13:13 +03:00 от Stas Korobeynikov @.*** :

ВСе тесты верные. 0 разбивает числовое пространство на положительные и отрицательные числа, но сам является особым числом и не относится ни к одним ни ко вторым. В одном другом тесте должен быть false — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread. Message ID: @ github . com>

sergosar commented 2 weeks ago

хотя бы дописать что - метод notPositive(), проверяет, что число не положительное и не НУЛЬ (но тогда метод должен называться notPositiveAndNotZero() ) и на числовой прямой не положительное это <= 0.

staskorobeynikov commented 3 days ago

Переименовал метод, добавил уточнение