Здравствуйте! Столкнулся с проблемой, что не могу составить необходимый мне алгоритм, поэтому обращаюсь к вам.
Ситуация такая. Есть очень хитрая структура данных, есть три операции:
Я пишу юнит-тест для этой структуры. Хочется перебрать все возможные варианты последовательностей вызовов этих операций. Но, понятно, что сначала нужно создать запись, затем изменить её, и только потом удалить.
Допустим, количество элементов у нас три (но хотелось бы для произвольного количества). Т.е. возможны какие-нибудь такие перестановки:
- create1 create2 set1 delete1 create3 set2 set3 delete3 delete 2
- create1 set1 create2 create3 delete1 set3 delete3 set2 delete 2
И так далее.
Как это реализовать? Язык не важен, хоть в псевдокоде. Я просто не знаю, в каком направлении двигаться.
Заранее спасибо.