Я работаю над расчетным проектом с большим количеством научных знаний в конкретных областях. Таким образом, наш клиент предоставил нам CSV-файлы, заполненные входами и выходами. Мы можем написать модульные тесты, аккуратно скопировав все эти данные в настройки и утверждения, но мы хотели бы избежать этого, поскольку это просто грубая работа, и пропустить один десятичный знак может сделать наши тесты недействительными.
Я сделал быстрый прототип, который берет простой CSV-файл и настраивает его в объект ввода и вывода с помощью Common.BeanUtils.populate (работает как сон) и некоторого парсинга. Мой файл выглядит так:
Inputs | AtomicNumber | AtomicWeight | IsIsotope | RateOfDecay |
| ### | ### | 1 | 0 |
Output | WillItBlend |
| 1 |
И это сработало до сих пор. Моя проблема в том, что я пришел к классу с коллекциями и файлом, который выглядит следующим образом:
Inputs | MoleculeId | StateAtRoomTemp | IsPosionous | IsShiny |
| ### | L | 1 | 1 |
Inputs | AtomicNumber | AtomicWeight | IsIsotope | RateOfDecay |
| ### | ### | 1 | 0 |
| ### | ### | 1 | 0 |
| ### | ### | 1 | 0 |
Output | WillItBlend |
| 1 |
где каждая молекула имеет ряд элементов. Какие существуют элегантные решения (если они есть), позволяющие легко создать боб молекулы со списком элементов?