Меня немного смущает то, что я вижу в файле unittest этого упражнения Exercism. Это некоторые из тестов, которые запускаются для проверки правильности моей программы. (Вы создаете объект PhoneNumber в основной программе.)
def test_area_code(self):
number = PhoneNumber("2234567890")
self.assertEqual(number.area_code, "223")
def test_pretty_print(self):
number = PhoneNumber("2234567890")
self.assertEqual(number.pretty(), "(223) 456-7890")
def test_pretty_print_with_full_us_phone_number(self):
number = PhoneNumber("12234567890")
self.assertEqual(number.pretty(), "(223) 456-7890")
Я знаю, как создать атрибут number
для моих объектов класса, но что означают number.area_code
и number.pretty()
? Что делает этот действительный код Python? Я пытался просто создать значение типа self.number.area_code = <something here>
, но это не сработало. Как именно это называется и как мне его создать?
Спасибо!
Редактировать: Это еще одна часть файла unittest:
def test_cleans_the_number(self):
number = PhoneNumber("(223) 456-7890").number
self.assertEqual(number, "2234567890")
def test_cleans_numbers_with_dots(self):
number = PhoneNumber("223.456.7890").number
self.assertEqual(number, "2234567890")
def test_cleans_numbers_with_multiple_spaces(self):
number = PhoneNumber("223 456 7890 ").number
self.assertEqual(number, "2234567890")
Разве это не так? Отчасти значит, что number
это атрибут? Вот почему я неправильно понял ранее цитированный раздел. Файл unittest, кажется, использует number
двумя различными способами, и я не уловил его в первой части!