Потому что:
1) Мы проверяем внешние границы (0 и 101) что бы удостовериться, что валидация работает корректно за пределами диапазона.
2) Мы проверяем сами границы (1 и 100) соответственно.
3) Мы проверяем внутренние границы диапазона (2 и 99), и в случае прохождения второго пункта это было бы избыточно, а я случае падения это почти явно указывает на типовую ошибку с <= и <).
Бтв, а что конкретно нам даст третья проверка?
Типа, локализация бага?