# Writing tests for anagram checking (part e8af)

Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.

## Задача

Определить, являются ли две строки анаграммами: состоят из одних и тех же букв с одинаковой частотой.

## Решение

```python
def are_anagrams(a: str, b: str) -> bool:
    return sorted(a.lower()) == sorted(b.lower())


print(are_anagrams("listen", "silent"))
```

## Как это работает

Анаграммы дают одинаковые отсортированные последовательности букв. Сортировка — простое и наглядное решение; словарь частот дал бы ту же проверку без сортировки.

## Пример работы

```text
True
```

## Сложность

O(n log n) из-за сортировки, O(n) по памяти.


## Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.

```python
assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай
```

Такой минимум уже защищает от случайной ошибки при правках кода.

Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.

**Читайте также:**

[требуют](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-60c2a2.pdf) · [крайние](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Такой](https://hey.xyz/posts/5jfv681zc4bvt98c28) · [последовательности](https://articlescad.com/laylakellyvip-383171.html) · [Разберём](https://blogfreely.net/nataliarussell2/yandex-altyazili-turkce-porno-izle-sikis-ve-sex-izle-full-hd) · [вызова](https://stabhi.com/%E7%94%B7+gv?f=instapaper) · [наглядные](https://jameslarsen89.wixsite.com/my-site-1/post/aleyna-tilki-xxx) · [примерах](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [решение](https://gal45699.carrd.co/) · [сразу](https://kappa.lol/AH7TSu) · [накроем](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starsessions-ml-070717.pdf) · [минимум](https://paper.wf/elena1983log/zizhuling) · [Сортировка](https://eweber87.wixsite.com/my-site-1/post/%D1%8D%D0%BA%D1%80%D0%B0%D0%BD-%D0%B4%D0%BB%D1%8F-%D0%B1%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BF%D0%B5%D1%87%D0%B8-%D0%B8%D0%B7-%D0%BD%D0%B5%D1%80%D0%B6%D0%B0%D0%B2%D0%B5%D0%B9%D0%BA%D0%B8) · [являются](https://gal74740.carrd.co/) · [проверку](https://articlescad.com/urlilmai-photo-gallery-your-little-mai-adult-pics-383394.html) · [python](https://sway.cloud.microsoft/DqCPbAOmZNtORdxT) · [короткие](https://wuchu-pub.com/uploads/20261018/6f8e636d117954e4b6fdc3fc5de9fb3e.pdf) · [return](https://paste2.org/I8efMnHx) · [проверка](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Сложность](https://yakihonne.com/article/naddr1qvzqqqr4gupzqrm09etem8tcal857aqj4m5s9zt65922u5ttshwl6htl6s4qf45fqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknsdnxxpjr2wpn95enjdmp956rgdtz94snzetz95uxvde48qcrscfevyung5h3dy6) · [строки](https://yakihonne.com/article/naddr1qvzqqqr4gupzp6vclwvxh0mylntelrw36a55dt5xx0rdl7fzqtmpyquyt8eye3d8qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkvvfjvguxger995crzdrx956xye3c94skgvp394skyctrvenrqefexucxy4ccmsv) · [одних](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sifangktv-44dd1c.pdf) · [sorted(b.lower](https://rentry.co/zwvnpzw9) · [Задача](https://privatebin.devol.it/?56d080ebfa1349e6#D4Mr6muC8decJUEpTEsTxkSVBc4dJcgCF2edn2cwhX4o)

