Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 278

File "test_cap.py", line 25, in test_words_with_apostrophes

self.assertEqual(result, "I'm Fresh Out Of Ideas")

AssertionError: "I'M Fresh Out Of Ideas" != "I'm Fresh Out Of Ideas"

— I'M Fresh Out Of Ideas

?

+ I'm Fresh Out Of Ideas

?

----------------------------------------------------------------------

Ran 3 tests in 0.001s

FAILED (failures=1)

Наша функция увеличила букву m в конструкции I'm. В документации к функ-

ции title() мы обнаружили, что она плохо работает с апострофами. Нам действи-

тельно стоило сначала прочитать ее текст целиком.

В самом конце документации стандартной библиотеки, касающейся строк, мы

находим еще одного кандидата — вспомогательную функцию с именем capwords().

Используем ее в файле cap.py:

def just_do_it(text):

from string import capwords

return capwords(text)

$ python test_cap.py

...

----------------------------------------------------------------------

Ran 3 tests in 0.004s

OK

Наконец-то мы это сделали! Э-э-э, на самом деле нет. Нужно добавить еще один

тест в файл test_cap.py:

def test_words_with_quotes(self):

text = "\"You're despicable,\" said Daffy Duck"

result = cap.just_do_it(text)

self.assertEqual(result, "\"You're Despicable,\" Said Daffy Duck")

358

Глава 12. Быть питонщиком

Сработало?

$ python test_cap.py

...F

======================================================================

FAIL: test_words_with_quotes (__main__.TestCap)

----------------------------------------------------------------------

Traceback (most recent call last):

File "test_cap.py", line 30, in test_words_with_quotes

self.assertEqual(result, "\"You're

Despicable,\" Said Daffy Duck")

AssertionError: '"you\'re Despicable," Said Daffy Duck'

!= '"You\'re Despicable," Said Daffy Duck'

— "you're Despicable," Said Daffy Duck

?

+ "You're Despicable," Said Daffy Duck

?

----------------------------------------------------------------------

Ran 4 tests in 0.004s