Уведомления

Группа в Telegram: @pythonsu

#1 Май 24, 2023 19:39:45

Satler91@
Зарегистрирован: 2023-05-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Unit тестирование. Создание теста с input несколькими входными параметрами

Всем здравствуйте. Я новичок.
Подскажите пожалуйста.

Как протестировать функцию. Если в функции на input несколько входных параметров, которые на возврате из функции представляют собой словарь(dict).

Входные параметры:
1) Ввод числа:
Введите количество заказов: 6

2) Ввод текста:
Первый заказ: Иванов Пепперони 1
Второй заказ: Петров Де-Люкс 2
Третий заказ: Иванов Мясная 3
Четвёртый заказ: Иванов Мексиканская 2
Пятый заказ: Иванов Пепперони 2
Шестой заказ: Петров Интересная 5

```


 name_of_numbers = {1: 'Первый', 2: 'Второй', 3: 'Третий', 4: 'Червертый', 5: 'Пятый', 6: 'Шестой', 7: 'Седьмой',
                   8: 'Восьмой', 9: 'Девятый', 10: 'Десятый', 11: 'Одиннадцатый', 12: 'Двенадцатый', 13: 'Тринадцатый',
                   14: 'Четырнадцатый', 15: 'Пятнадцатый', 16: 'Шестнадцатый', 17: 'Семнадцатый', 18: 'Восемнадцатый',
                   19: 'Девятнадцатый'}
def get_dictionary() -> dict:
    database = dict()
    amount_of_orders = int(input('Количество заказов: '))
    for number in range(1, amount_of_orders + 1):
        order = input(f'{name_of_numbers[number]} заказ: ').split()
        if order[0] in database:
            if order[1] in database[order[0]]:
                database[order[0]][order[1]] += int(order[2])
            else:
                database[order[0]][order[1]] = order[2]
        else:
            database[order[0]] = dict({order[1]: int(order[2])})
    return database
dictionary_result = get_dictionary()
for name in dictionary_result:
    print(f'\n{name}')
    for info in dictionary_result[name]:
        print(f'\t{info}')

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version