Python Тестирование с моками Argparse

Подскажите пожалуйста, как протестировать def parse_args() и def main(). Задание звучит так. В тестах должны быть моки для чтения файла и работы с переданными параметрами. Спасибо

from collections import Counter
from functools import lru_cache
import sys
import argparse

@lru_cache(None)
def count(text: str) -> int:
    c = Counter(text)
    unique_number = 0
    for i, v in c.items():
        if c[i] == 1:
            unique_number += 1
    return unique_number


def list_count(text):
    return list(map(count, text))


def parse_args(args):
    parser = argparse.ArgumentParser(description='Counting the number of unique characters.')
    parser.add_argument("-s", "--string", type=str)
    parser.add_argument("-f", '--file', type=argparse.FileType('r'))
    return parser.parse_args()


def main():
    args = parse_args(sys.argv[1:])
    if args.file:
        i = args.file
        new_row = [row.strip() for row in i]
        print(list_count(new_row))
    elif args.string:
        z = args.string
        print(count(z))


if __name__ == "__main__":
    sys.exit(main())


Ответы (0 шт):