Skip to content

Stas3d/lms-kryzsta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TO RUN TESTS
mvn clean test

TO RUN APPLICATION, PUT FILE WITH DATA TO /input FOLDER AND RUN
mvn exec:java -Dexec.args="FILE.txt"

Example
mvn exec:java -Dexec.args="dataSheet.lms"

Notice: This application requires java7/maven3 environment.


-добавлен для юнит-тестов private static Parser parser = new ParserImpl()   
-экземпляр класса приведен к интерфейсу ParserImpl => Parser
-В displayMethod добавлен для else перед foreach  



============

============

The Problem
Существует система, которая работает с торговыми операциями и обеспечивает проверку превышения допустимых значений для каждой из операций. Система должна показать пользователю, в какой из операций произошло нарушение.

Input
Система обрабатывает все входящие данные как текст, первая строка должна быть “LIMITS”, после чего в указываются существующие ограничения. Ограничения описываются для следующих полей: страна, валюта, значение. Далее указывается слово “OPERATIONS”, после чего указывается в каждой из строк операции по следующим полям: ID (во внешней системе), страна, валюта, значение, дата операции. Считается, что произошло нарушение в том случае, если значение в операции превышает соответствующий лимит на более, чем 5%.

Example
LIMITS
USA USD 1000
Ukraine UAH 2000
Ukraine UAH 150
Poland USD 700
Poland UAH 0

OPERATIONS
111 USA USD 100
117 USA UAH 100000
131 Ukraine UAH 4000
159 Poland RUB 10000
198 Ukraine UAH 2001
201 USA USD 7000

Output
Необходимо вывести список операций, в которых произошло нарушение и указать в процентном соотношении превышение лимита для данной операции

Example
131 200%
201 700%

Restrictions
-	В случае ошибки данных(неверный формат, отрицательное значение и тд) обработка прекращается и пользователю отображается сообщение”Input data error”
-	В случае, если лимита для данной страны/валюты не существует - операция проходит успешно

What we are looking for
Целью данного задания не является получить полноценное приложение(не стоит использовать все известные шаблоны, графический интерфейс или оптимизацию производительности, достаточно будет чтения данных с файла и вывода результата в файл или консоль). Особое внимание будет уделено способности писать код максимально чисто и понятно, используя известные конвенции по написанию кода. Плюсом будет написание модульных тестов.
Результатом должен быть zip файл с исходниками, а также Ant или Maven скрипт для сборки и запуска приложения.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages