Skip to content

Webblurt/PaymentSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Payment System

Простейшая платежная система на Go, эмулирующая операции с банковскими счетами. Вся информация хранится в оперативной памяти.

Функционал

  1. Эмиссия денег: Добавление указанной суммы на специальный "счет эмиссии".
  2. Уничтожение денег: Списание денег с указанного счета и их перевод на "счет уничтожения".
  3. Создание нового счета: Генерация уникального номера IBAN и добавление нового счета.
  4. Перевод денег: Осуществление перевода между двумя счетами.
  5. Вывод информации о счетах: Отображение списка всех счетов с остатками в формате JSON.
  6. Обработка ошибок: Обработка ситуаций с недостатком средств, блокировкой счета или отсутствием счета.

Требования

  • Go 1.20+

Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/Webblurt/PaymentSystem.git
    cd PaymentSystem
  2. Запустите основную программу:

    go run payment_system.go

Тестирование Payment System

Тесты реализованы с использованием стандартного пакета testing в Go и покрывают следующие сценарии:

  1. Эмиссия денег:

    • Проверка успешного добавления денег на "счет эмиссии".
    • Проверка ошибки при указании некорректной суммы (отрицательное значение).
  2. Создание нового счета:

    • Успешное создание нового счета с уникальным IBAN.
  3. Перевод денег:

    • Проверка успешного перевода между двумя счетами.
    • Проверка ошибок:
      • Недостаток средств.
      • Отсутствие счета.
      • Заблокированный счет.
  4. Уничтожение денег:

    • Успешное списание денег с указанного счета на "счет уничтожения".
    • Проверка ошибок:
      • Недостаток средств.
      • Попытка перевода с несуществующего счета.
      • Работа с заблокированным счетом.
  5. Вывод списка счетов:

    • Проверка корректного форматирования данных о счетах в JSON.

Запуск тестов

  1. Перейдите в директорию проекта

  2. Запустите тесты:

    go test -v

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages