На вход поступает 2 файла:
- TestcaseStructure.json
- Values.json
Cодержит в себе массив параметров. Каждый параметр может иметь поля:
- id - Уникальный идентификатор;
- title - Название параметра;
- value - Выбранное значение, изначально пустая строка;
- values - Массив возможных значений, если поля нет, считаем что значение заполняется вручную, а не выбором.
Значения имеют следующие поля:
- id - Уникальный идентификатор;
- title - Название значения, которое подставляется в value параметра;
- params - массив вложенных в это значение параметров.
Содержит массив объектов. Каждый объект имеет поля:
- id - Идентификатор параметра;
- value - Идентификатор значения этого параметра. либо строка, если у параметра нет массива значений.
В результате выполнения, программа должна сформировать файл StructureWithValues.json с заполненными value у параметров, на основе файла Values.json.
Пример корректного выполнения задачи StructureWithValues.json приложен к заданию.
Если мы не можем найти параметр с id из файла Values.json, то считаем, что такого параметра нет и значение подставлять некуда.
Если у параметра с id из Values.json, в массиве values нет объекта с id равным value, то считаем, что такого значения нет и оставляем поле value пустым.
Если входные файлы являются неконсистентными, то программа должна сформировать файл error.json с сообщением о том, что входные файлы являются некорректными. Пример error.json приложен к заданию.