Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 2.7 KB

README.md

File metadata and controls

36 lines (27 loc) · 2.7 KB

Задача для стажера на платформу iOS

На вход поступает 2 файла:

  1. Structure.json
  2. Draft_values.json

Structure.json

Cодержит в себе массив параметров. Каждый параметр может иметь поля:

  • id - Уникальный идентификатор;
  • title - Название параметра;
  • value - Выбранное значение, изначально пустая строка;
  • values - Массив возможных значений, если поля нет, считаем что значение заполняется вручную, а не выбором.

Значения имеют следующие поля:

  • id - Уникальный идентификатор;
  • title - Название значения, которое подставляется в value параметра;
  • params - массив вложенных в это значение параметров (например модель - параметр конкретного значения марки (Audi - A1)).

Draft_values.json

Содержит массив объектов. Каждый объект имеет поля:

  • id - Идентификатор параметра;
  • value - Идентификатор значения этого параметра. либо строка, если у параметра нет массива значений.

Результат

В результате выполнения, программа должна сформировать файл Structure_with_values.json с заполненными value у параметров, на основе файла Draft_values.json.

Пример корректного выполнения задачи Structure_with_values.json приложен к заданию.

Доп. информация
  • Если мы не можем найти параметр с id из файла Draft_values.json, то считаем, что такого параметра нет и значение подставлять некуда.

  • Если у параметра с id из Draft_values.json, в массиве values нет объекта с id равным value, то считаем, что такого значения нет и оставляем поле value пустым.

  • Если входные файлы являются неконсистетными, то программа должна сформировать файл error.json с сообщением о том, что входные файлы являются некорректными. Пример error.json приложен к заданию.