Regexp
Тема: ТЕстирование кода. (Глава 11 из Кернигана) Мы постараемся тут задеть 2 темы: тестрование и модульность в го программирование.
Задание: Написать библиотеку (пакет) состоящую из функции которая делает перевод цены представленный в разном виде в единый формат. ТО есть функция принимает строку цены в разном формате и возвращать единый формат цены. Функция библиотеки должна иметь тест (table-driven test).
Реализацию сделать в 2 этапа использую подход TDD (начала пишется тест, потом код) На первом этапе вариации цен которые библиотека должны переводить следующие (вначале для изучения можно взять одну вариацию, потом другую и так далее):
"EUR 1.203,09" ------->"EUR:1203.09",
"$30.65" ------->"$:30.65",
"$30.65 ($13.74 / Pound)" ------->"$:30.65",
" $1,000,010.46" ------->"$:1000010.46",
"+ EUR 18,00 di spedizione" ------->"EUR:18.00",
"MP3" ------->"",
"P3" ------->"",
"3" ------->"",
Сохранить в гите библиотеку под тегом v0.0.1. Затем написать простую программу которая будет эту библиотеку использовать. Второй этап, дополнить библиотеку поддержкой следующих вариантов цен:
"CDN$ 59.71" ------->"CDN$:59.71",
"CDN$ 59.71" ------->"CDN$:59.71",
"CDN$59.71" ------->"CDN$:59.71",
"AUD 59.71" ------->"AUD:59.71",
"CAD 59.71" ------->"CAD:59.71",
"GBP 59.71" ------->"GBP:59.71",
"39,99 €" ------->"€:39.99",
Затронутые темы в задаче:
- модульность в go
- регулярные выражения
- тестирование