Ошибка в эталонном решении и тестах subnet_checker.clj
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- clojure
- 领域
- testing-qa
调研方向
从 subnet_checker.clj 开始,检查参考解决方案和测试数据生成器。运行现有测试,以复现不正确的子网归属行为和不充分的用例。完成的标准是:归属判断正确使用子网掩码,并且生成的测试会生成明确位于所生成子网内部或外部的 IP。
由索引模型根据 Issue 内容生成。
描述
В задаче осталось несколько недочетов:
- Эталонное решение не корректное - производится проверка на вхождение
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, соответственно тесты плохо проверяют корректность написанного кода.
- 主要语言
- Clojure
- 星标
- 71
- 派生
- 67
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
hexlet-codebattle/battle_asserts 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 35/100
hexlet-codebattle/battle_asserts#1093 ·
-
难度 2/5 1-3 小时 新手友好度 55/100
hexlet-codebattle/battle_asserts#1072 ·
-
难度 2/5 1-3 小时 新手友好度 45/100
hexlet-codebattle/battle_asserts#1036 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 35/100
hexlet-codebattle/battle_asserts#1001 · 1 条评论 ·
查看 hexlet-codebattle/battle_asserts 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
calcit-lang/calcit#2538 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
-
comment above the first :require-macros libspec is hoisted onto the form可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭bug namespace v1 blocker
难度 2/5 1-3 小时 新手友好度 72/100
oakmac/standard-clojure-style-js#268 ·
维护者通常 1 天内回复
-
Bug: server save errors never reach the form (on-save-failed-expr unwraps the mutation result twice)未关闭bug
难度 2/5 1-3 小时 新手友好度 80/100
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复