Skip to content

GandarfHSE/NTProTest

Repository files navigation

Тестовая торговая биржа

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

Как установить

Склонируйте этот репозиторий в локальную папку, перейдите в неё и выполните следующие команды:

mkdir build
cd build
cmake ..
make

Для запуска сервера выполните команду ./Server, для запуска клиента - команду ./Client, для запуска тестов - команду ./Test.

Как использовать сервер

Запустите его ¯\_(ツ)_/¯

Для остановки сервера можно воспользоваться комбинаций клавиш Ctrl + C.

Как использовать клиент

Запустите сервер. После чего при запуске клиента приложение подключится к серверу.

Вам будет предложены несколько опций на выбор. Для выбора нужной Вам опции необходимо написать соответствующий номер в консоль. Например, при запуске приложения Вам будет показано следующее меню:

Greetings! Please, register or login
1) Register new account
2) Login to existing account

Для регистрации введите 1, для логина в существующий аккаунт введите 2.

После входа в аккаунт Вам будут доступны следующие опции:

  1. Покупка долларов за рубли
  2. Продажа долларов за рубли
  3. Просмотр своего баланса
  4. Просмотр своих активных заявок
  5. Просмотр своих закрытых сделок
  6. Просмотр котировок
  7. Выход из приложения

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

Тесты

Для написания тестов я использовал библиотеку doctest. Для обычного запуска тестов выполните команду ./Test в папке build. В консоль выведутся количество пройденных тестов и сломанные тесты при их наличии. Для просмотра всех тестов, а не только сломанных, выполните команду ./Test -s. Для просмотра других опций запуска выполните команду ./Test --help.

About

Тестовое задание С++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •