Задание тестовое: Для начала высылаем вам тестовое задание. В качестве тестового задания предлагаем написать на Java или Kotlin консольный калькулятор (можно с веб-интерфейсом), который принимает входную строку, содержащую математическое выражение (целые и десятично-дробные числа, знаки +, -, *, / и скобки) и выводит в консоль результат его вычисления. Задание предполагает самостоятельную реализацию парсинга и расчета математического выражения.
Главным критерием при оценке задания является использование при разработке TDD и принципов SOLID. Архитектура решения должна обеспечивать расширение списка поддерживаемых операций при минимальном и максимально безболезненном для существующей функциональности внесении изменений в исходный код. Код должен быть легко читаем и отформатирован в едином стиле, содержать минимальное число поясняющих комментариев.
Пример консольного ввода:
Введите выражение: 1+2-3
Результат: 0
Результатом будет публично доступный репозиторий на GitHub с исходным кодом тестового задания.