Actions
Task #5403
closedTest sequence generation logic (blocks, combinators, compositors) needs a review
Start date:
10/31/2014
Due date:
% Done:
100%
Estimated time:
Detected in build:
svn
Published in build:
2.3.31
Description
Необходимо проработать логику генерации тестовых последовательностей (блоки и комбинаторы/композиторы). Необходимо:
- Уточнение требований
- Реализация
- Примеры
- Документация
Следующие случаи должны быть проработаны:
- atomic { I1, ..., In } - возвращает итератор, который возвращает одну единственную последовательность.
- atomic { I1, ..., In, block {...}, In+1, ..., Im} - возвращает итератор, который возвращает столько последовательностей, сколько из дает block: (I1, ..., In, seq1, In+1, ..., Im), ..., (I1, ..., In, seqk, In+1, ..., Im).
- atomic { I1, ..., In, block {...}, In+1, ..., Im, block {…}, Im+1, …, Ik} - (вложенные блоки дают разное количество последовательностей) - ???
- block { I1, ..., In } - возвращает итератор, который выдает n последовательностей, состоящих из одного элемента каждая.
- block { I1, ..., In, block {...}, In+1, ..., Im} - ???
- block { I1, ..., In, block {...}, In+1, ..., Im, block {…}, Im+1, …, Ik} - ???
P.S. Cейчас из этого только atomic { I1, ..., In } и block { I1, ..., In } работают корректно. Более сложные случаи не проработаны: atomic { ... } объединяет все в единственную последовательность, а block { ... } создает на основе n вложенных элементов (инструкций или блоков) n последовательностей, которые получаются путем объединения всех последовательностей, возвращаемых соответствующим элементом.
Actions