Напишите функцию are_anagrams(), которая принимает на вход две строки и возвращает True, если они являются анаграммами, и False в противном случае. Анаграммами называются строки, которые содержат одни и те же буквы, но в разном порядке.
Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных.
Пишите ваши варианты в комментариях.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
# are_anagrams.py
def are_anagrams(str1, str2):
return sorted(str1) == sorted(str2)
# test_are_anagrams.py
import pytest
from are_anagrams import are_anagrams
def test_anagrams():
assert are_anagrams("listen", "silent")
assert are_anagrams("triangle", "integral")
assert are_anagrams("debit card", "bad credit")
def test_not_anagrams():
assert not are_anagrams("hello", "world")
assert not are_anagrams("python", "java")
assert not are_anagrams("abc", "def")
def test_empty_strings():
assert are_anagrams("", "")
def test_different_lengths():
assert not are_anagrams("abc", "abcd")
assert not are_anagrams("abc", "ab")
В данной задаче функция are_anagrams() принимает на вход две строку, затем сортирует их и сравнивает между собой. Если результат True, то строки являются анаграммами. Тесты проверяют правильность работы функции для различных входных данных.