Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
env
__pycache__
10 changes: 8 additions & 2 deletions tests/level_1/test_five_title.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
from functions.level_1.five_title import change_copy_item


def test_change_copy_item():
pass
def test__change_copy_item__normal_name():
assert change_copy_item('Banana') == 'Copy of Banana'
def test__change_copy_item__copy_of_name():
assert change_copy_item('Copy of Banana') == 'Copy of Banana (2)'
def test__change_copy_item__copy_of_copy_name():
assert change_copy_item('Copy of Banana (7)') == 'Copy of Banana (8)'
def test__change_copy_item__normal_name_with_lenght():
assert change_copy_item('Banana', 5) == 'Banana'
22 changes: 21 additions & 1 deletion tests/level_1/test_four_bank_parser.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
import datetime
import decimal

from functions.level_1.four_bank_parser import BankCard, SmsMessage, Expense, parse_ineco_expense


def test_parse_ineco_expense():
pass
sms = SmsMessage(
text="Вы купили 0.23 Эфира, *1234 18.05.23 23:59 MEWWALLET authcode 5005",
author="MewWallet",
sent_at=datetime.datetime.now(),
)

cards = [
BankCard("1234", "Pavel Mager"),
BankCard("5678", "Pavel Mager"),
]

expected_output = Expense(
amount=decimal.Decimal("0.23"),
card=cards[0],
spent_in="MEWWALLET",
spent_at=datetime.datetime.strptime("18.05.23 23:59", "%d.%m.%y %H:%M"),
)
assert parse_ineco_expense(sms, cards) == expected_output
8 changes: 6 additions & 2 deletions tests/level_1/test_one_gender.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from functions.level_1.one_gender import genderalize


def test_genderalize():
pass
def test__genderalize__male():
assert genderalize('Ходил', 'Ходила', 'male') == 'Ходил'
def test__genderalize__female():
assert genderalize('Ходил', 'Ходила', 'female') == 'Ходила'
def test__genderalize__something_else():
assert genderalize('Ходил', 'Ходила', 'banana') == 'Ходила'
7 changes: 5 additions & 2 deletions tests/level_1/test_three_url_builder.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
from functions.level_1.three_url_builder import build_url


def test_build_url():
pass
def test__build_url__with_params():
assert build_url('https://www.youtube.com', 'watch', get_params={'v':'dQw4w9WgXcQ'}) == 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
def test__build_url__without_params():
assert build_url('https://github.com', 'MagerOK/testing_exercises') == 'https://github.com/MagerOK/testing_exercises'

12 changes: 10 additions & 2 deletions tests/level_1/test_two_date_parser.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
from functions.level_1.two_date_parser import compose_datetime_from
from datetime import datetime


def test_compose_datetime_from():
pass
def test__compose_datetime_from__any_date():
date = compose_datetime_from('Bla-bla', '11:15')
today = datetime.today()
assert date == datetime(today.year, today.month, today.day, int(date.hour), int(date.minute))
def test__compose_datetime_from__tomorrow_date():
today = datetime.today()
date = compose_datetime_from('tomorrow', '13:40')
assert date == datetime(today.year, today.month, today.day + 1, int(date.hour), int(date.minute))