Closed GoogleCodeExporter closed 9 years ago
Я думаю в первом наборе нам нужно без
syntax_analyzer чтобы к релизу было.
Original comment by oasyc...@gmail.com
on 22 Apr 2015 at 2:04
По сути это тест на последовательный вызов
заданного набора анализаторов, или в
вопросе есть какой-то специфический метод,
для данной задачи?
Original comment by vad23k...@gmail.com
on 22 Apr 2015 at 9:10
Функция в классе вопроса есть. Я так
понимаю неплохой вариант для начала теста
это compare - она как раз получает две строки и
ищет результат - см
https://code.google.com/r/mamontovdp-mariabirvg-correctwriting2/source/browse/qu
estion/type/correctwriting/question.php#409 Но Дмитрий может
иметь лучшее предложение по функции.
При этом необходимо создать объект вопроса
со всеми настройками (в частности теми,
которые управляют доступностью матчеров -
типа
https://code.google.com/r/mamontovdp-mariabirvg-correctwriting2/source/browse/qu
estion/type/correctwriting/question.php#117
Соответственно нужно составить такую пару
строк, чтобы в ней были ошибки и эффекты от
разных видов матчеров (опечатки,
перестановка местами элементов
перечисления, перемещение лексемы (не
относящейся к перечислению), лишняя и
отсутствующая лексемы) - и запускать эту
пару при различных настройках матчеров,
анализируя какие ошибки найдены, а какие -
нет (так при отключенном lexical analyzer вместо
опечатки будет лишняя и удаленная лексемы
и т.д. - см. таблицу на гугльдоке)
Original comment by oasyc...@gmail.com
on 22 Apr 2015 at 9:28
Дмитрий, расшарьте документ
гугльдоковский на редактирование хотя бы
мне...
Original comment by oasyc...@gmail.com
on 22 Apr 2015 at 9:29
Да, на строки которые написано "запрещено"
нужен тест на метод validate для формы
редактирования вопроса, что он не
пропускает такие комбинации.
Original comment by oasyc...@gmail.com
on 22 Apr 2015 at 9:30
Начата работа над тестами.
https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/detail?
r=6ff69ec52c76187a1775471186143669f206ae01
Original comment by vad23k...@gmail.com
on 26 Apr 2015 at 7:05
Начата работа над тестами.
https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/detail?
r=6ff69ec52c76187a1775471186143669f206ae01
Original comment by vad23k...@gmail.com
on 26 Apr 2015 at 7:05
1) Название теста очень странное:
qtype_correctwriting_common_test может указывать на все
что угодно. Лучше переименовать в
qtype_correctwriting_analyzers_interaction_test .
2) По поводу кода вида:
$this->assertEquals(get_class($question->matchedresults->mistakes()[0]),'qtype_c
orrectwriting_lexeme_moved_mistake');
$this->assertEquals(get_class($question->matchedresults->mistakes()[1]),'qtype_correctwriting_lexeme_absent_mistake');
$this->assertEquals(get_class($question->matchedresults->mistakes()[2]),'qtype_correctwriting_lexeme_added_mistake');
Лучше так не делать, так как технически
никто не гарантирует, что ошибки будут
генерироваться именно в такой
последовательности. Реально же они могут
быть сгенерированы в любой
последовательности. Лучше посмотрите, как
здесь сделано и сделайте подобным образом:
https://code.google.com/r/mamontovdp-mariabirvg-correctwriting2/source/browse/qu
estion/type/correctwriting/tests/test_mistake_descriptions.php . Только
вам вместо текста ошибок, лучше вычислять
их количество и проверять сколько ошибок
такого типа будет найдено.
3) Когда будут оставшиеся тесты? Там
все-таки их не так много надо, с учетом
синтаксического анализатора. Технически,
даже если делать по одному в день
можно за неделю справиться.
Original comment by mamontov...@gmail.com
on 6 May 2015 at 6:23
Сегодня, добиваю свой анализатор, что бы он
только в определеной связке работал и
только с определенными языками и сажусь за
тесты. Файл переименую, проверку изменю.
Original comment by vad23k...@gmail.com
on 6 May 2015 at 6:37
Хорошо, ок.
Original comment by mamontov...@gmail.com
on 6 May 2015 at 7:18
Валидация уже реализована в моем клоне, по
идее тесты должны проходить.
Original comment by mamontov...@gmail.com
on 6 May 2015 at 2:36
Извините, а как должна вести себя картинка
в случае отключенного анализатора
последовательности? Должна ли она вообще
показываться?
Original comment by mamontov...@gmail.com
on 6 May 2015 at 2:50
По идее должна.
Я думаю в этом случае пока можно
ограничиться верхней строкой с
исправлениями, и нижней под ней со
стрелками для случая опечаток/лишних и
пропущенных разделителей.
Стрелки для совпадающих лексем не нужно,
ибо при наличии одинаковых лексем они
могут показывать кто в лес, кто по дрова,
переставляя там где можно взять более
близкие - для такого случая надо сначала
доделать подбор наиболее похожего
варианта без lcs. Это - задача на будущее, не к
этому релизу...
Original comment by oasyc...@gmail.com
on 6 May 2015 at 8:42
Надо сделать, чтобы строки правильного
типа пересоздавались в enum_analyzer. Сейчас это
не делается, считается, что это должен
делать кто-то другой, но это не совсем
корректно.
Original comment by mamontov...@gmail.com
on 13 May 2015 at 10:29
UPD: Решили переделать так, чтобы string_pair
создавал строки соответствующего типа.
Пока комментарий 14 отменяется.
Original comment by mamontov...@gmail.com
on 13 May 2015 at 12:10
Дмитрий, вы добились пересоздания строк с
помощью string_pair?
Original comment by vad23k...@gmail.com
on 24 May 2015 at 6:12
Такой вот тест:
public function test_validate_enum_syntax_without_sequence_with_lexical() {
$form = new qtype_correctwriting_edit_form();
$data = array(
'langid' => 3,
'isenumanalyzerenabled' => 1,
'issyntaxanalyzerenabled' => 1,
'islexicalanalyzerenabled' => 1
);
$errors = $form::validation($data, $files);
$expected_errors = [];
$this->assertEquals($errors,$expected_errors);
}
Ругается на отсутствие question_edit_form, от
которого наследуется edit_shortanswer_form. Как
исправить?
Original comment by vad23k...@gmail.com
on 24 May 2015 at 7:45
На edu.vstu.org все работало, но в репе это
отсутствует. В ближайшее время думаю
создать такую репу и сделать, чтобы там оно
было.
Последнее - очень странно, такое ощущение,
что что-то с самим Moodle.
Original comment by mamontov...@gmail.com
on 24 May 2015 at 8:47
Создал репозиторий. Вылил в него изменения,
постарался аккуратно убрать лишние головы
в репозитории Вадима, см.
https://code.google.com/r/mamontovdp-correctwriting-release2015/source/browse .
Тем не менее, не вижу переименований. При
переименовании, надо учесть новый код в
string_pair.php
Original comment by mamontov...@gmail.com
on 24 May 2015 at 8:13
https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/list
Тут лежат переименования.
Original comment by vad23k...@gmail.com
on 25 May 2015 at 3:47
Возник вопрос, по тестам на валидацию,
никто не взаимодействовал с классами
контекстов вопросов?
Original comment by vad23k...@gmail.com
on 1 Jun 2015 at 10:47
Это задача блока, он сам не показывает
некоторые языки в зависимости от контекста
и настроек для него. Делать на это проверку
не нужно.
Original comment by mamontov...@gmail.com
on 2 Jun 2015 at 5:01
Нет, дело не в этом для создания формы нужен
вопрос, категория вопросов и контекст.
Нашел все, кроме создания контекста.
Original comment by vad23k...@gmail.com
on 4 Jun 2015 at 4:55
Посмотрите, как в блоке это устроено, прям в
block_formal_langs. Там есть функция update_language_visibility
или еще как-то - там такое есть.
Original comment by mamontov...@gmail.com
on 4 Jun 2015 at 5:05
В клон добавлены тесты на взаимодействия
анализаторов, а так же тесты связанные с
определением перечислений.
https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/list
Вопрос с контестами остается открытым,
передача в конструктор системного
контекста не решает ошибки при создании.
Задал вопрос на moodle.org, жду результата.
Так же на edu.vstu.org добавлены вопросы для
тестирования ловца перечислений.
Original comment by vad23k...@gmail.com
on 7 Jun 2015 at 8:04
Original comment by oasyc...@gmail.com
on 3 Jul 2015 at 8:24
Original issue reported on code.google.com by
mamontov...@gmail.com
on 22 Apr 2015 at 1:24