-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Description
В задаче осталось несколько недочетов:
- Эталонное решение не корректное - производится проверка на вхождение
adressвsubnet(в виде строк), однако в реальности алгоритм должен быть посложнее, пример
для входных аргументов["211.191.126.18","211.191.126.18/15"]результатtrue
Однако, если проверить в калькуляторе https://ip-calculator.ru/#!ip=211.191.126.18/15
адрес сети должен быть211.190.0.0(тут проявляется и 2 проблема, о ней ниже) - Генерация тестов не корректная, адрес подсети в тестовых данных должен генерироваться с учетом маски, в данный момент генерируется произвольный адрес, алгоритм генерации тестов должен быть следующий:
- 1 - генерируем маску подсети (m) в диапазоне от 0 до 32
- 2 - с учетом маски генерируем адрес подсети (используем первые m бит из 32, остальные биты - нулевые)
- 3 - случайным образом определяем должен ли адрес принадлежать подсети (с вероятностью 50%)
- 4 - на основании п.3 генерируем случайный ip-адрес гарантированно принадлежащий (или не принадлежащий) указанной подссети.
В связи с тем, что в данный момент генерация ip-адреса и адреса подсети производятся независимо друг от друга в большинстве тестов результат проверки будет false, соответственно тесты плохо проверяют корректность написанного кода.
Metadata
Metadata
Assignees
Labels
No labels