Юнит-тесты к определению разрыва автомата
Issue #335
closed
Originally reported on Google Code with ID 335
Нужно хорошо протестировать этот код перед релизом.
Три вида тестов
а) просто полные разрывы от различных утверждений
б) ложные разрывы (в альтернативе или зацикливании), не приводящие к разрыву всего
автомата
в) ложные разрывы в сочетании с приводящими к полному разрыву, чтобы проверить, правильно
ли определяется какое именно место привело к разрыву.
Если было несколько разрывов в ответе может быть любой, который ведет к окончательному
нарушению связности, но позиция должна описывать оба узла (сумму), мержинг которых
привел к разрыву.
Reported by oasychev
on 2015-03-09 01:40:16
Comments (9)
-
Account Deleted -
Да
Reported by
vostreltsov
on 2015-03-09 10:23:52 -
Account Deleted Тогда получится, что регекс \n^a будет непроходимым, потому что в однострочном режиме ^ заменяется на \A. Это нормально?
Reported by
eklepilkina
on 2015-03-09 10:33:26 -
Про режимы не думай, ассерты выставляются те которые нужны. Если он не допускает перевод строки перед собой, пересечение пустое и есть разрыв .
Reported by
vostreltsov
on 2015-03-09 10:36:34 -
Account Deleted "Если было несколько разрывов в ответе может быть любой, который ведет к окончательному нарушению связности, но позиция должна описывать оба узла (сумму), мержинг которых привел к разрыву." Это обязательно делать? Мне кажется это приведет к расплывчивости, т.к. диапазон суммарный может быть очень большой, если между разрывами много всего. Не лучше ли оставлять один разрыв? А когда пользователь исправит точно указанный разрыв, увидит другой и поправит и его.
Reported by
eklepilkina
on 2015-03-09 16:47:13 -
reporter Ну так я об этом и писал. Любой один разрыв (только не ложный, который в отдельной ветке и полностью автомат не разрывает) - но оба его узла (обычно один узел ассерт, другой обычный символ или класс), ибо разрыв всегда получается при мержинге двух узлов. Про два разрыва нигде написано.
Reported by
oasychev
on 2015-03-09 19:13:40 -
reporter Лена, с режимами все просто - их уже учитывает лексер и подменяет узлы соответственно. Вы работаете с получившимися узлами в их однозначной интерпретации.
Reported by
oasychev
on 2015-03-09 19:14:32 -
Account Deleted Ну вроде по требованиям сделала. Теперь в позиции 2 узла, тесты проходят.
Reported by
eklepilkina
on 2015-03-10 08:06:07 -
reporter Вот теперь хорошо.
Reported by
oasychev
on 2015-03-12 22:43:58 - Status changed:Done
- Log in to comment
Reported by
eklepilkina
on 2015-03-09 06:49:32